到函数,对象还没改
This commit is contained in:
229
js1/1.基础.md
Normal file
229
js1/1.基础.md
Normal file
@@ -0,0 +1,229 @@
|
||||
# 基础
|
||||
|
||||
1. 写出js的组成
|
||||
|
||||
2. 写出js三种引入方式 并举例
|
||||
|
||||
3. 列举几种js 交互方式
|
||||
|
||||
4. 说明常量和变量的区别
|
||||
|
||||
5. js中用什么定义变量和常量 声明两个变量和一个常量
|
||||
|
||||
6. 如何交换两个变量的值
|
||||
|
||||
7. 变量命名规则
|
||||
8. js中的数据类型有几种 分别包括
|
||||
9. 检测数据类型的方式 分别说明优缺点
|
||||
10. typeof 检测数据类型的返回值都有什么
|
||||
11. 列举几种js交互方式
|
||||
|
||||
12.从弹框中输入一个字符 点击确定从控制台打印用户输入的值
|
||||
|
||||
13. 基本数据类型和引用数据类型的区别
|
||||
|
||||
14. js 注释有几种写法
|
||||
|
||||
15.下面代码的执行结果为
|
||||
```angular2html
|
||||
var a = "abcde";
|
||||
var b = "千古壹号";
|
||||
var c = "123123";
|
||||
var d = '哈哈哈哈哈';
|
||||
var e = "";
|
||||
|
||||
var f = haha;
|
||||
|
||||
console.log(typeof a);
|
||||
console.log(typeof b);
|
||||
console.log(typeof c);
|
||||
console.log(typeof d);
|
||||
console.log(typeof e);
|
||||
|
||||
```
|
||||
|
||||
16. 列举js中的转义字符
|
||||
17. 分别取15题中的字符串的长度
|
||||
18. 把15题中的6个字符串拼接成一个
|
||||
19.下面代码的执行结果为
|
||||
```angular2html
|
||||
var str1 = '千古壹号' + '永不止步';
|
||||
var str2 = '千古壹号' + 666;
|
||||
var str3 = '千古壹号' + true;
|
||||
var str4 = '千古壹号' + null;
|
||||
var str5 = '千古壹号' + undefined;
|
||||
|
||||
var obj = { name: '千古壹号', age: 28 };
|
||||
var str6 = '千古壹号' + obj;
|
||||
```
|
||||
20.下面代码的执行结果为
|
||||
|
||||
```angular2html
|
||||
var a = true;
|
||||
console.log(typeof a);
|
||||
```
|
||||
|
||||
21. 下面代码的执行结果为
|
||||
|
||||
```angular2html
|
||||
var a = 100;
|
||||
console.log(typeof a);
|
||||
|
||||
var b = 12.3;
|
||||
console.log(typeof a);
|
||||
|
||||
```
|
||||
|
||||
22. 下面代码的执行结果为
|
||||
|
||||
```angular2html
|
||||
console.log("abc" / 18);
|
||||
|
||||
console.log("abc" * "abcd");
|
||||
|
||||
```
|
||||
|
||||
23. 下面代码的执行结果为
|
||||
```angular2html
|
||||
console.log("我" + "爱" + "你");
|
||||
console.log("我+爱+你");
|
||||
console.log(1+2+3);
|
||||
```
|
||||
```angular2html
|
||||
var a = "1";
|
||||
var b = 2;
|
||||
console.log(a + b);
|
||||
```
|
||||
|
||||
```angular2html
|
||||
var a = 1;
|
||||
var b = 2;
|
||||
console.log("a" + b);
|
||||
```
|
||||
|
||||
|
||||
24.下面代码的执行结果为
|
||||
```angular2html
|
||||
var a = "4" + 3 - 6;
|
||||
console.log(a);
|
||||
```
|
||||
|
||||
25. 下面代码的执行结果为 并解释原因
|
||||
```angular2html
|
||||
var a = 0.1 + 0.2;
|
||||
console.log(a);
|
||||
```
|
||||
|
||||
26. 下面代码的执行结果为
|
||||
```angular2html
|
||||
var a = 1;
|
||||
var b = 2;
|
||||
var c = 3;
|
||||
a = b + c;
|
||||
b = c - a;
|
||||
c = a * b;
|
||||
console.log(a);
|
||||
console.log(b);
|
||||
console.log(c);
|
||||
```
|
||||
|
||||
27. 下面代码的执行结果为
|
||||
```angular2html
|
||||
var a = "3";
|
||||
var b = 2;
|
||||
console.log(a-b);
|
||||
```
|
||||
|
||||
28. 下面代码的执行结果为
|
||||
```angular2html
|
||||
var myObj = null;
|
||||
cosole.log(typeof myObj);
|
||||
```
|
||||
|
||||
29. 下面代码的执行结果为
|
||||
```angular2html
|
||||
let name;
|
||||
console.log(name);
|
||||
console.log(typeof name);
|
||||
|
||||
```
|
||||
|
||||
30.下面代码的执行结果为
|
||||
```angular2html
|
||||
console.log(typeof a); // undefined
|
||||
console.log(a);
|
||||
```
|
||||
|
||||
31.列举几种隐式类型转换和显式类型转换
|
||||
32.列举几种其他类型转成字符串的方式
|
||||
33. 列举几种转成数值的方式(分为整型和浮点型)
|
||||
|
||||
34.下面代码的执行结果为
|
||||
```angular2html
|
||||
console.log(parseInt("2017在公众号上写了6篇文章"));
|
||||
|
||||
console.log(parseInt("2017.01在公众号上写了6篇文章"));
|
||||
|
||||
console.log(parseInt("aaa2017.01在公众号上写了6篇文章"))
|
||||
```
|
||||
|
||||
35. 下面代码的执行结果为
|
||||
```angular2html
|
||||
var a = 168.23;
|
||||
console.log(parseInt(a));
|
||||
|
||||
var b = true;
|
||||
console.log(parseInt(b));
|
||||
|
||||
var c = null;
|
||||
console.log(parseInt(c));
|
||||
|
||||
var d = undefined;
|
||||
console.log(parseInt(d));
|
||||
|
||||
```
|
||||
|
||||
36. 下面代码的执行结果为
|
||||
```angular2html
|
||||
var a = parseInt(5.8) + parseInt(4.7);
|
||||
console.log(a);
|
||||
```
|
||||
|
||||
```angular2html
|
||||
var a = parseInt(5.8 + 4.7);
|
||||
console.log(a);
|
||||
```
|
||||
|
||||
```angular2html
|
||||
var a = '123.456.789px';
|
||||
console.log(parseFloat(a));
|
||||
```
|
||||
|
||||
37.下面代码的执行结果为
|
||||
```angular2html
|
||||
const a = 1;
|
||||
|
||||
console.log(a == true);
|
||||
console.log(typeof a);
|
||||
console.log(0 == true)
|
||||
```
|
||||
|
||||
38. 下面代码的执行结果为
|
||||
```angular2html
|
||||
const result1 = '';
|
||||
const result2 = {a:'data1', b: 'data2'};
|
||||
|
||||
if (result1) {
|
||||
console.log('因为 result1的内容为空,所以代码进不了这里');
|
||||
}
|
||||
|
||||
if (result2 && result2.a) {
|
||||
// 接口返回了 result2,且 result2.a 里面有值,前端才做进一步的事情
|
||||
console.log('代码能进来,前端继续在这里干活儿');
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
27
js1/dom.md
Normal file
27
js1/dom.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# dom
|
||||
1. 点击按钮时,显示和隐藏盒子。
|
||||
|
||||
2. 鼠标悬停时,显示二维码大图
|
||||
|
||||
3. 点击按钮禁用文本框/解禁文本框
|
||||
|
||||
4. 文本框获取焦点/失去焦点(淘宝 京东的搜索框效果)
|
||||
|
||||
5. 用户注册信息错误时,输入框失去焦点后,高亮显示。
|
||||
|
||||
6. 全选和反选(仿京东购物车)
|
||||
|
||||
7. 电子时钟 (时间会更新)
|
||||
|
||||

|
||||
|
||||
|
||||
8. 随机点名 通过math.radom取随机数实现随机点名 名字集合放在数组里
|
||||
|
||||

|
||||
a
|
||||
|
||||
|
||||
11. 仿写 todolist的备忘录功能 实现要做项的增删改查
|
||||
|
||||
12. 在html上写一个表格 包括姓名 年龄 性别 住址 职业 通过js 做信息的增删改查
|
||||
114
js1/this.md
Normal file
114
js1/this.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# this
|
||||
1. 总结this的指向的规律
|
||||
2. 改变this指向的方式
|
||||
3. 下面代码的执行结果为
|
||||
```js
|
||||
function fn2(){
|
||||
console.log(this.n)
|
||||
var n='n'
|
||||
this.n=10
|
||||
console.log(n)
|
||||
}
|
||||
var obj={fn2:fn2, n:1}
|
||||
fn2()
|
||||
obj.fn2()
|
||||
console.log(obj.n, window.n)
|
||||
|
||||
```
|
||||
4.下面代码的执行结果为
|
||||
```js
|
||||
|
||||
function f(){console.log(this)}
|
||||
|
||||
var obj={
|
||||
fn: (function(){
|
||||
console.log(this.f)
|
||||
// return this.f
|
||||
})(),
|
||||
f: function(){console.log(this)}
|
||||
}
|
||||
f()
|
||||
obj.f()
|
||||
|
||||
```
|
||||
|
||||
5. 下面代码的执行结果为
|
||||
```js
|
||||
var n = 10
|
||||
var obj1={
|
||||
n:1,
|
||||
f:function(){this.n++; n=this.n++}
|
||||
}
|
||||
|
||||
obj1.f()
|
||||
console.log(n)
|
||||
console.log(obj1.n)
|
||||
window.setTimeout(obj1.f, 1000)
|
||||
|
||||
```
|
||||
|
||||
|
||||
6. 下面代码的执行结果为
|
||||
```js
|
||||
console.log(getA)
|
||||
if('a' in window){
|
||||
var a = ''
|
||||
function getA(a){
|
||||
a = a||this.a
|
||||
console.log(this.a)
|
||||
}
|
||||
getA(a)
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
7. 下面代码执行结果为
|
||||
```js
|
||||
const obj1 = {
|
||||
nickName: 'qianguyihao',
|
||||
age: 28,
|
||||
};
|
||||
function fn1() {
|
||||
console.log(this);
|
||||
console.log(this.nickName);
|
||||
}
|
||||
fn1.call(this);
|
||||
|
||||
```
|
||||
|
||||
8. 下面代码的执行结果为
|
||||
```js
|
||||
var obj1 = {
|
||||
nickName: 'qianguyihao',
|
||||
age: 28,
|
||||
};
|
||||
|
||||
function fn1(a, b) {
|
||||
console.log(this);
|
||||
console.log(this.nickName);
|
||||
console.log(a + b);
|
||||
}
|
||||
|
||||
fn1.call(obj1, 2, 4);
|
||||
|
||||
|
||||
```
|
||||
|
||||
9.下面代码的执行结果为
|
||||
```js
|
||||
function Father(myName, myAge) {
|
||||
this.name = myName;
|
||||
this.age = myAge;
|
||||
}
|
||||
|
||||
function Son(myName, myAge) {
|
||||
Father.call(this, myName, myAge);
|
||||
}
|
||||
|
||||
const son1 = new Son('hello', 28);
|
||||
console.log(JSON.stringify(son1));
|
||||
```
|
||||
|
||||
10.把上面7,8,9 改成apply语法
|
||||
|
||||
13.把上面7,8,9 改成bind语法
|
||||
259
js1/函数.md
Normal file
259
js1/函数.md
Normal file
@@ -0,0 +1,259 @@
|
||||
# 函数
|
||||
* 简介函数语法
|
||||
* 函数包含哪几部分
|
||||
* 简述函数返回值规则
|
||||
* 下面代码的执行结果为
|
||||
```
|
||||
var x = myFunction(7, 8);
|
||||
function myFunction(a, b) {
|
||||
return a * b;
|
||||
}
|
||||
```
|
||||
|
||||
* 简单介绍局部变量和全局变量
|
||||
* 下面两段代码的执行结果分别是什么 并说明原因
|
||||
```
|
||||
function myFunction() {
|
||||
var carName = "Volvo";
|
||||
}
|
||||
console.log(carName)
|
||||
|
||||
```
|
||||
```
|
||||
function myFunction() {
|
||||
var carName = "Volvo";
|
||||
console.log(carName)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
* 函数如何返回值,如何接收
|
||||
* 下面代码执行结果是什么 为什么
|
||||
|
||||
```
|
||||
function sum(iNum1, iNum2) {
|
||||
return iNum1 + iNum2;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
* 下面代码执行结果是什么 为什么
|
||||
|
||||
```
|
||||
function sum(iNum1, iNum2) {
|
||||
console.log(iNum1 + iNum2);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
* 下面代码执行结果是什么 为什么
|
||||
|
||||
```
|
||||
function sum(iNum1, iNum2) {
|
||||
console.log(iNum1 + iNum2);
|
||||
}
|
||||
sum()
|
||||
|
||||
```
|
||||
|
||||
* 下面代码执行结果是什么 为什么
|
||||
|
||||
```
|
||||
function sum(iNum1, iNum2) {
|
||||
return iNum1 + iNum2;
|
||||
}
|
||||
var iResult = sum(1,1);
|
||||
alert(iResult);
|
||||
|
||||
```
|
||||
|
||||
* 下面代码执行结果是什么 为什么
|
||||
|
||||
```
|
||||
function sum(iNum1, iNum2) {
|
||||
return iNum1 + iNum2;
|
||||
alert(iNum1 + iNum2);
|
||||
}
|
||||
```
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```
|
||||
function sayHi(sMessage) {
|
||||
if (sMessage == "bye") {
|
||||
return;
|
||||
}
|
||||
|
||||
alert(sMessage);
|
||||
}
|
||||
```
|
||||
|
||||
* 如何检测参数的个数
|
||||
* 下面代码的执行结果是多少
|
||||
```
|
||||
function howManyArgs() {
|
||||
alert(arguments.length);
|
||||
}
|
||||
|
||||
howManyArgs("string", 45);
|
||||
howManyArgs();
|
||||
howManyArgs(12);
|
||||
|
||||
```
|
||||
|
||||
* 下面代码的执行结果
|
||||
```
|
||||
function sayHi() {
|
||||
if (arguments[0] == "bye") {
|
||||
return;
|
||||
}
|
||||
|
||||
alert(arguments[0]);
|
||||
}
|
||||
```
|
||||
|
||||
* 下面代码的执行结果是什么
|
||||
```
|
||||
function howManyArgs() {
|
||||
alert(arguments.length);
|
||||
}
|
||||
|
||||
howManyArgs("string", 45);
|
||||
howManyArgs();
|
||||
howManyArgs(12);
|
||||
|
||||
```
|
||||
* 什么是函数重载
|
||||
|
||||
* 下面代码的执行结果是什么
|
||||
```
|
||||
function doAdd() {
|
||||
if(arguments.length == 1) {
|
||||
alert(arguments[0] + 5);
|
||||
} else if(arguments.length == 2) {
|
||||
alert(arguments[0] + arguments[1]);
|
||||
}
|
||||
}
|
||||
|
||||
doAdd(10);
|
||||
doAdd(40, 20);
|
||||
```
|
||||
|
||||
* 通过new function() 的系形式重新定义下面的对象
|
||||
```
|
||||
function sayHi(sName, sMessage) {
|
||||
alert("Hello " + sName + sMessage);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
* 编写一个函数,计算三个数字的大小,按从小到大顺序输出
|
||||
|
||||
|
||||
|
||||
* 用*实现等边三角形
|
||||
|
||||
* 创建函数的几种方式
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
sum(3,4);
|
||||
sum("3",4);
|
||||
sum("Hello","World");
|
||||
|
||||
// 定义函数:求和
|
||||
function sum(a, b) {
|
||||
console.log(a + b);
|
||||
}
|
||||
```
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
function sum(a, b) {
|
||||
console.log(a + b);
|
||||
}
|
||||
|
||||
sum(1, 2);
|
||||
sum(1, 2, 3);
|
||||
sum(1);
|
||||
```
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
console.log(fn) == console.log(function fn(){alert(1)});
|
||||
|
||||
//定义fn方法
|
||||
function fn(){
|
||||
alert(1)
|
||||
};
|
||||
```
|
||||
|
||||
* fn 和 fn()的区别
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
(function(a, b) {
|
||||
console.log("a = " + a);
|
||||
console.log("b = " + b);
|
||||
})(123, 456);
|
||||
```
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
function foo() {
|
||||
console.log(arguments);
|
||||
console.log(typeof arguments);
|
||||
}
|
||||
|
||||
foo();
|
||||
```
|
||||
|
||||
* 如何返回函数传入的参数个数
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
|
||||
fn(2, 4);
|
||||
fn(2, 4, 6);
|
||||
fn(2, 4, 6, 8);
|
||||
|
||||
function fn(a, b) {
|
||||
console.log(arguments);
|
||||
console.log(fn.length);
|
||||
console.log(arguments.length);
|
||||
|
||||
console.log('----------------');
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
function fun() {
|
||||
console.log(arguments.callee == fun); //打印结果为true
|
||||
}
|
||||
|
||||
fun('hello');
|
||||
|
||||
```
|
||||
|
||||
* 下面代码的执行结果为
|
||||
```js
|
||||
fn(2, 4);
|
||||
fn(2, 4, 6);
|
||||
fn(2, 4, 6, 8);
|
||||
|
||||
function fn(a, b) {
|
||||
arguments[0] = 99; //将实参的第一个数改为99
|
||||
arguments.push(8); //此方法不通过,因为无法增加元素
|
||||
}
|
||||
```
|
||||
|
||||
* 介绍arguments的使用
|
||||
|
||||
* 编写一个函数来验证输入的字符串是否是有效的 IPv4 地址。
|
||||
|
||||
如果是有效的 IPv4 地址,返回 "IPv4" ;
|
||||
如果不是上述类型的 IP 地址,返回 "Neither" 。
|
||||
|
||||
IPv4 地址由十进制数和点来表示,每个地址包含 4 个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;
|
||||
95
js1/对象.md
Normal file
95
js1/对象.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# 对象练习
|
||||
* 什么是面向对象 什么是面向过程
|
||||
* 分别介绍对象的三大特征
|
||||
* 对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 对呈现。
|
||||
* 定义一个对象 包含下列属性 name age sex addr(居住地) job(职业)
|
||||
包含下列方法
|
||||
eat, sleep, playgame, watchtv ,read
|
||||
函数体内自定义内容 不可为空
|
||||
* 给上面的题里的对象添加 height(身高) weight(体重) 属性并赋值
|
||||
* 给上面题里的对象添加 下列方法
|
||||
meituan(点外卖 参数需要传手机号和居住地址 想吃的东西 返回下单成功)
|
||||
cook(做饭 需要传入时间 判断当前是哪一顿饭)
|
||||
travel(需要传入目的地 返回我去哪里玩啦)
|
||||
listenmusic(传入你喜欢的歌手 控制台打印最喜欢的曲子)
|
||||
work(传入上班时间和下班时间 判断是否为996)
|
||||
|
||||
* 访问上面对象定义的以及添加后的所有属性(两种方式访问 先指明可以通过什么方式访问)
|
||||
格式为 如name字段: 姓名:+name的属性值
|
||||
通过调用不同的方法来制定行程(按照正常顺序调用上面对象的每一个方法)
|
||||
|
||||
* 探索对象创建的其他方式 每种都举例尝试(不得少于三个方法 五个属性)
|
||||
* 探索遍历函数的所有属性
|
||||
* 五大主流浏览器的名字为键 内核为值 创建一个对象
|
||||
* 下面代码的执行结果是:
|
||||
```
|
||||
function person(firstname,lastname,age,eyecolor)
|
||||
{
|
||||
this.firstname=firstname;
|
||||
this.lastname=lastname;
|
||||
this.age=age;
|
||||
this.eyecolor=eyecolor;
|
||||
return [this.firstname,this.lastname,this.age,this.eyecolor,this]
|
||||
}
|
||||
|
||||
var myFather=new person("John","Doe",50,"blue");
|
||||
var myMother=person("Sally","Rally",48,"green");
|
||||
console.log(myFather)
|
||||
console.log(myMother)
|
||||
```
|
||||
* 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
const user = {
|
||||
name: "John"
|
||||
};
|
||||
user.name = "Pete";
|
||||
alert(user.name);
|
||||
```
|
||||
|
||||
* 如何访问下面对象的bird属性
|
||||
对象为:
|
||||
var user={
|
||||
fire:"fox",
|
||||
likes:{
|
||||
type:"animal",
|
||||
bird:"fly"
|
||||
}
|
||||
}
|
||||
给user对象添加一个属性名是name 值是user
|
||||
给user对象添加一个方法 触发后可以删除user对象的likes里面的type
|
||||
|
||||
创建一个对象 属性值为用户输入的自定义字符(最少三个属性)
|
||||
|
||||
* 创建一个对象 包含如下内容
|
||||
* code 值为200
|
||||
* msg 值为"请求成功"
|
||||
* data 值为数组[]
|
||||
* data中包含如下内容
|
||||
* shopname 商品名
|
||||
|
||||
* pic 商品图片
|
||||
|
||||
* desc 商品简介
|
||||
|
||||
* price 商品价格
|
||||
|
||||
* kucun 库存
|
||||
|
||||
* xiaoliang 销量
|
||||
|
||||
* caozuo 操作
|
||||
|
||||
注 写的时候把值赋上
|
||||
|
||||
* 把上面那个题目用构造函数的重新写一份,并生成4个内容不同的对象
|
||||
|
||||
* 创建一个对象 包含如下内容
|
||||
* store 商店名称
|
||||
* addr 商店地址
|
||||
* sale: 方法 输出xxx商店正在大甩卖
|
||||
|
||||
* 遍历上面的两个对象 并输出每个的键和值
|
||||
|
||||
* 从外面给商店的对象增添一个shoplist的属性 该属性是一个数组 包含英雄名称跟英雄价格 货币单位以金币计算(5个王者英雄就ok)
|
||||
|
||||
* 把第一题中的data中的对象里面的caozuo 属性删除
|
||||
44
js1/语句.md
Normal file
44
js1/语句.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 语句
|
||||
|
||||
1. 流程控制语句包括哪些
|
||||
|
||||
2. 根据要求实现功能
|
||||
根据BMI(身体质量指数)显示一个人的体型。
|
||||
BMI指数,就是体重、身高的一个计算公式。公式是:
|
||||
BMI =体重÷身高的平方
|
||||
|
||||
比如,老师的体重是81.6公斤,身高是1.71米。
|
||||
那么老师的BMI就是 81.6 ÷ 1.712 等于 27.906022365856163
|
||||
|
||||
过轻:低于18.5
|
||||
正常:18.5-24.99999999
|
||||
过重:25-27.9999999
|
||||
肥胖:28-32
|
||||
非常肥胖, 高于32
|
||||
用JavaScript开发一个程序,让用户先输入自己的体重,然后输入自己的身高(弹出两次prompt框)。
|
||||
计算它的BMI,根据上表,弹出用户的身体情况。比如“过轻” 、 “正常” 、“过重” 、 “肥胖” 、“非常肥胖”。
|
||||
|
||||
3.一个加油站为了鼓励车主多加油,所以加的多有优惠。
|
||||
92号汽油,每升6元;如果大于等于20升,那么每升5.9;
|
||||
97号汽油,每升7元;如果大于等于30升,那么每升6.95
|
||||
编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。
|
||||
|
||||
|
||||
4. 通过switch判断今天是周几
|
||||
5. 把第2题通过switch改写
|
||||
6. 把第3题通过switch改写
|
||||
7. 通过if 和switch 分别实现 判断今天是否该上班 上班输出work 休息输出relax
|
||||
8. 通过while实现 输出1~100的和
|
||||
9. 第八题通过for实现
|
||||
10. 打印1~10 (for,while)
|
||||
11. 写一个死循环
|
||||
12. 第10题通过 do while结构写
|
||||
13.while和do whil的区别
|
||||
14.假如投资的年利率为 5%,试求从 1000 块增长到 5000 块,需要花费多少年?
|
||||
15.break和continue的区别
|
||||
16.99 乘法表
|
||||
17.打印 1~100 之间的所有质数
|
||||
18.判断闰年
|
||||
19.在弹框中输入你的工资,大于等于20000显示高工资,8000-20000显示中高工资,小于8000显示普通工资
|
||||
20.如果时间小于 10:00,则生成问候 "Good morning",如果时间大于 10:00 小于 20:00,则生成问候 "Good day",否则生成问候 "Good evening":、
|
||||
21.用*实现等边三角形
|
||||
220
js1/运算符.md
Normal file
220
js1/运算符.md
Normal file
@@ -0,0 +1,220 @@
|
||||
# 运算符
|
||||
1.下面代码的执行结果为
|
||||
```js
|
||||
var a = "666";
|
||||
a++;
|
||||
|
||||
console.log(typeof a);
|
||||
console.log(a);
|
||||
|
||||
```
|
||||
|
||||
2.下面代码的执行结果为
|
||||
```js
|
||||
var a = '666';
|
||||
var b = +a;
|
||||
|
||||
console.log(typeof a);
|
||||
console.log(a);
|
||||
|
||||
console.log(typeof b);
|
||||
console.log(b);
|
||||
```
|
||||
|
||||
3. 加号有几种用法
|
||||
4. 下面代码的result变量结果分别是什么
|
||||
```js
|
||||
result1 = true + 1;
|
||||
|
||||
result2 = true + false;
|
||||
|
||||
result3 = 1 + null;
|
||||
|
||||
result4 = 100 - '1'
|
||||
```
|
||||
5.运算符的优先级
|
||||
6.假设用户输入345,怎么分别得到3、4、5这三个数呢?
|
||||
7.算数运算符的运算规则
|
||||
8.下面代码的执行结果为
|
||||
```js
|
||||
var n1 = 10;
|
||||
var n2 = 20;
|
||||
|
||||
var result1 = n1++;
|
||||
|
||||
console.log(n1);
|
||||
console.log(result1)
|
||||
|
||||
result = ++n1;
|
||||
console.log(n1);
|
||||
console.log(result);
|
||||
|
||||
var result2 = n2--;
|
||||
console.log(n2);
|
||||
console.log(result2);
|
||||
|
||||
result2 = --n2;
|
||||
console.log(n2);
|
||||
console.log(result2);
|
||||
```
|
||||
|
||||
9.下面的代码的执行结果为
|
||||
```js
|
||||
console.log(3 < 2 && 2 < 4);
|
||||
```
|
||||
|
||||
10.下面代码的执行结果为
|
||||
```js
|
||||
const a = prompt('请输入您的年龄');
|
||||
|
||||
if (a >= 18 && a < 65) {
|
||||
alert('可以上班');
|
||||
} else {
|
||||
alert('准备退休');
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
11.说明逻辑运算符的用法
|
||||
12.下面代码的执行结果为
|
||||
```js
|
||||
const a1 = 'qianguyihao';
|
||||
a1 && alert('看 a1 出不出来');
|
||||
|
||||
const a2 = undefined;
|
||||
a2 && alert('看 a2 出不出来');
|
||||
```
|
||||
|
||||
13.说明短路运算符的用法
|
||||
14.下面代码的执行结果为
|
||||
```js
|
||||
console.log(1 > true);
|
||||
console.log(1 >= true);
|
||||
console.log(1 > "0");
|
||||
|
||||
console.log(10 <= "hello");
|
||||
console.log(true > false);
|
||||
console.log("56" > "123");
|
||||
```
|
||||
|
||||
15.下面代码的执行结果为
|
||||
```js
|
||||
console.log("我爱你中国" == "我爱你中国");
|
||||
console.log("6" == 6);
|
||||
console.log(true == "1");
|
||||
console.log(0 == -0);
|
||||
|
||||
console.log(null == 0);
|
||||
console.log(undefined == null);
|
||||
console.log(NaN == NaN);
|
||||
console.log(NaN === NaN);
|
||||
console.log(NaN == null )
|
||||
console.log(NaN == undefined)
|
||||
|
||||
```
|
||||
16. 下面代码的执行结果为
|
||||
```js
|
||||
var b;
|
||||
console.log(isNaN(b));
|
||||
|
||||
```
|
||||
|
||||
17. 下面代码的执行结果为
|
||||
```js
|
||||
console.log("6" === 6); //false
|
||||
console.log(6 === 6);
|
||||
```
|
||||
|
||||
18.下面代码的执行结果为
|
||||
```js
|
||||
console.log(3 != 8); //true
|
||||
console.log(3 != "3"); //false,因为3=="3"是true,所以反过来就是false。
|
||||
console.log(3 !== "3");
|
||||
```
|
||||
|
||||
19.三目运算符的执行流程
|
||||
20.下面代码执行结果为
|
||||
```js
|
||||
txt1="What a very";
|
||||
txt2="nice day";
|
||||
txt3=txt1+txt2;
|
||||
console.log(txt3)
|
||||
```
|
||||
21.下面代码执行后 x,y,z 的值为
|
||||
```js
|
||||
x=5+5;
|
||||
y="5"+5;
|
||||
z="Hello"+5;
|
||||
```
|
||||
22.下面代码执行后 voteable的值为
|
||||
```js
|
||||
voteable=(age<18)?"年龄太小":"年龄已达到";
|
||||
```
|
||||
|
||||
23.写一个完成计算器功能的函数,传入两个数 输出计算结果 具体计算功能包含 加减乘除成方取余 每个计算方式分别放按钮 点击输出计算结果
|
||||
24.判断是否为两位数
|
||||
25. 已知 x=5 分别写出下列语句的打印结果
|
||||
x == 8
|
||||
x == 5
|
||||
x == "5"
|
||||
x === 5
|
||||
x === "5"
|
||||
x != 8
|
||||
x !== 5
|
||||
x !== "5"
|
||||
x !== 8
|
||||
x > 8
|
||||
x < 8
|
||||
x >= 8
|
||||
x <= 8
|
||||
|
||||
26.已知现有fish="23"
|
||||
var cat = (fish < 18) ? "再来一筐锦鲤":"吃饱啦";
|
||||
最后的cat 打印结果为
|
||||
|
||||
27.写出下面的打印结果
|
||||
2 < 12
|
||||
2 < "12"
|
||||
2 < "John"
|
||||
2 > "John"
|
||||
2 == "John"
|
||||
"2" < "12"
|
||||
"2" > "12"
|
||||
"2" == "12"
|
||||
|
||||
28.写出下面的打印结果
|
||||
```js
|
||||
alert( 5 % 2 );
|
||||
alert( 8 % 3 );
|
||||
alert( 2 ** 2 );
|
||||
alert( 2 ** 3 );
|
||||
alert( 2 ** 4 );
|
||||
alert( 4 ** (1/2) );
|
||||
alert( 8 ** (1/3) );
|
||||
alert( '1' + 2 );
|
||||
alert( 2 + '1' );
|
||||
alert(2 + 2 + '1' );
|
||||
var x = 1;
|
||||
alert( +x );
|
||||
|
||||
var y = -2;
|
||||
alert( +y );
|
||||
|
||||
// 转化非数字
|
||||
alert( +true );
|
||||
alert( +"" );
|
||||
|
||||
var apples = "2";
|
||||
var oranges = "3";
|
||||
alert( apples + oranges );
|
||||
alert( Number(apples) + Number(oranges) );
|
||||
```
|
||||
29.下面代码的打印结果为
|
||||
```js
|
||||
|
||||
alert( true || true );
|
||||
alert( false || true );
|
||||
alert( true || false );
|
||||
alert( false || false );
|
||||
|
||||
```
|
||||
24
js1/递归.md
Normal file
24
js1/递归.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# 递归
|
||||
|
||||
* 1+2+3+4+....+100(n)求和
|
||||
|
||||
* 输入一个正整数n,输出n!的值。其中n!=123*…*n,即求阶乘
|
||||
* 一共有n格,每步可以走1格或者2格,问一共有多少走法。
|
||||
|
||||
* 一只青蛙可以一次跳 1 级台阶或者一次跳 2 级台阶,例如:
|
||||
跳上第 1 级台阶只有一种跳法:直接跳 1 级即可。 跳上第 2 级台阶有两种跳法:每次跳 1 级,跳两次;或者一次跳 2 级。 问要跳上第 n 级台阶有多少种跳法?
|
||||
|
||||
|
||||
* 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
|
||||
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
|
||||
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
|
||||
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币
|
||||
|
||||
输入描述:
|
||||
|
||||
输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法币数量。
|
||||
|
||||
输出描述:
|
||||
输出一个字符串,每个字符表示该次小易选取投入的魔法机器。其中只包含字符'1'和'2'。
|
||||
|
||||
比如输入10,返回122
|
||||
181
js1/闭包.md
Normal file
181
js1/闭包.md
Normal file
@@ -0,0 +1,181 @@
|
||||
# 闭包
|
||||
1. 什么是闭包
|
||||
2. 简述闭包的作用
|
||||
3. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
function fn1() {
|
||||
var name = 'iceman';
|
||||
function fn2() {
|
||||
console.log(name);
|
||||
}
|
||||
fn2();
|
||||
}
|
||||
fn1();
|
||||
|
||||
```
|
||||
|
||||
4. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
function fn1() {
|
||||
var name = 'iceman';
|
||||
function fn2() {
|
||||
console.log(name);
|
||||
}
|
||||
return fn2;
|
||||
}
|
||||
var fn3 = fn1();
|
||||
fn3();
|
||||
|
||||
```
|
||||
|
||||
5. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
function fn1() {
|
||||
var name = 'iceman';
|
||||
function fn2() {
|
||||
console.log(name);
|
||||
}
|
||||
fn3(fn2);
|
||||
}
|
||||
function fn3(fn) {
|
||||
fn();
|
||||
}
|
||||
fn1();
|
||||
```
|
||||
6. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
function waitSomeTime(msg, time) {
|
||||
setTimeout(function () {
|
||||
console.log(msg)
|
||||
}, time);
|
||||
}
|
||||
waitSomeTime('hello', 1000);
|
||||
```
|
||||
|
||||
7. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
for (var i = 1; i <= 10; i++) {
|
||||
setTimeout(function () {
|
||||
console.log(i);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
8. 怎么才能在第7题中输出 1-10
|
||||
9. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
function module() {
|
||||
var arr = [];
|
||||
function add(val) {
|
||||
if (typeof val == 'number') {
|
||||
arr.push(val);
|
||||
}
|
||||
}
|
||||
function get(index) {
|
||||
if (index < arr.length) {
|
||||
return arr[index]
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return {
|
||||
add: add,
|
||||
get: get
|
||||
}
|
||||
}
|
||||
var mod1 = module();
|
||||
mod1.add(1);
|
||||
mod1.add(2);
|
||||
mod1.add('xxx');
|
||||
console.log(mod1.get(2));
|
||||
|
||||
```
|
||||
|
||||
10. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
var a = 10
|
||||
function foo(){
|
||||
console.log(a)
|
||||
}
|
||||
|
||||
function sum() {
|
||||
var a = 20
|
||||
foo()
|
||||
}
|
||||
|
||||
sum()
|
||||
```
|
||||
|
||||
11. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
var n = 10
|
||||
function fn(){
|
||||
var n =20
|
||||
function f() {
|
||||
n++;
|
||||
console.log(n)
|
||||
}
|
||||
f()
|
||||
return f
|
||||
}
|
||||
|
||||
var x = fn()
|
||||
x()
|
||||
x()
|
||||
console.log(n)
|
||||
|
||||
```
|
||||
|
||||
12. 简述闭包形成的原因
|
||||
13. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
var a = 0
|
||||
function foo(){
|
||||
var b =14
|
||||
function fo(){
|
||||
console.log(a, b)
|
||||
}
|
||||
fo()
|
||||
}
|
||||
foo()
|
||||
```
|
||||
|
||||
14. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
var n = 10
|
||||
function fn(){
|
||||
var n =20
|
||||
function f() {
|
||||
n++;
|
||||
console.log(n)
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
var x = fn()
|
||||
x()
|
||||
|
||||
```
|
||||
|
||||
15. 下面代码的执行结果是什么 为什么
|
||||
```
|
||||
var a = '林一一'
|
||||
function foo(){
|
||||
var a = 'foo'
|
||||
function fo(){
|
||||
console.log(a)
|
||||
}
|
||||
return fo
|
||||
}
|
||||
|
||||
function f(p){
|
||||
var a = 'f'
|
||||
p()
|
||||
}
|
||||
f(foo())
|
||||
|
||||
```
|
||||
|
||||
16.预编译的四个步骤
|
||||
17.全局变量和局部变量
|
||||
Reference in New Issue
Block a user