目录
1. 规范
-
语句结束用
;js 引擎是以
;分割语句的,如果没有加,会自动给你加上 -
符号的两边都有空格,比如:c = a + b;
2. 错误
在JS中错误分为两大类:语法错误,通用错误
2.1. 语法错误
语法错误 Uncaught SyntaxError,通篇的代码都不会执行
console.log(1);
console.log(2); // 这里分号写成了中文的分号,语法错误,通篇的代码都不执行
console.log(3);
2.2. 引用错误
引用错误 Uncaught ReferenceError,错误之前的代码会执行,之后的代码不会执行
console.log(1);
console.log(a);
console.log(2);
// 输出 1
// 然后 报 a 的引用错误,之后的不执行
提示:多个脚本是相互独立的,其中一个报错不会影响另一个的执行
3. 算数运算符
运算符包括 + - * / % ()
3.1. 优先级
括号运算 > 普通运算 > 赋值
var a = 1,
b = 2,
d = 3;
var c = (a + b) * d;
// 计算机执行过程:
// 1. 声明变量c
// 2. a的值和b的值相加,与d相乘得到结果
// 3. 将值赋值给变量c
3.2. + 加法
用法
- 数学运算
- 字符串拼接 -> 任何数据类型 + 字符串 都是字符串
var a = 1,
b = 2,
c;
c = a + b; // 3
c = 1 + "str"; // 1str
c = "str" + undefined; // strundefined
3.3. / 除法
console.log(0 / 0); // NaN → not a number 非数 -> 数字类型
console.log(1 / 0); //infinity 正无穷 -> 数字类型
console.log(-1 / 0); //-infinity 负无穷 -> 数字类型
提示:NaN、infinity是数字类型
3.4 % 取模
console.log(5 % 3); // 2
console.log(0 % 6); // 0
3.3. 交换值
交换 a, b 的值
// 方法一
var a = 1,
b = 2;
var c = a,
a = b,
b = c;
// 方法二
a = a + b;
b = a – b;
a = a – b;
// 方法三
[a, b] = [b, a]
3.4. ++、- - ⭐
a++和++a的区别
var a = 1;
console.log(a++) // 1 先执行后运算 -> --同理
console.log(++a) // 2 先运算后执行 -> --同理
下面打印什么?
var a = 5,
b;
b = a++ + 1;
console.log(b, a); // 6 6
b = ++a + 1;
console.log(b, a); // 7 6
b = a-- + --a;
console.log(b, a); // 8 3
b = --a + --a;
console.log(b, a); // 7 3
b = --a + a++;
console.log(b, a); // 8 5
4. 比较运算符
比较运算符包括: > < >= <= == === != !==
4.1. > < >= <= ⭐
number 比较 string, string 先转换为 number 再比较
console.log(1 > '2'); // false
string 比较 string,则比较字符串相对应的ASCII码(字符相对应的十进制代码)
多个字符的,从左到右依次对比,直到比较出码的大小为止
console.log('4.5' > '11'); // true
4.2. == ===
相等是不看数据类型
全等是需要看数据类型是否相等
console.log(1 == "1"); // true
console.log(1 === "1"); // false
4.3. != !==
NaN 与包括自己在内的任何东西都不相等
console.log(NaN !== NaN); // true


5. 判断分支
5.1. if
-
在条件中
&&就是并且,&&两边都必须满足条件即可||就是或者,||两边有一边满足条件即可 -
条件:互斥性
互斥相的条件一定不能分开写
// 查询成绩等级 if (score >= 90 && score <= 100) { console.log('您的成绩为A') } else if (score >= 80 && score < 90) { console.log('您的成绩为B') } else if (score >= 70 && score < 80) { console.log('您的成绩为C') } else if (score >= 60 && score < 70) { console.log('您的成绩为D') } else if (score < 60 && score >= 0) { console.log('您的成绩不及格') } else { console.log('您的成绩出现异常') } // 满足条件就停止
5.2. switch
-
基本形式
switch (变量) { case 值: 语句; break; //中断语句 default: 语句; } -
示例
var city = window.prompt('请输入您所在的地区'); console.log(city); switch(city) { case '北京': console.log('15k'); break; case '上海': console.log('13k'); break; default: console.log('9k'); } -
利用switch变换为if
switch(true):{ // 这里一定要填布尔值 -> true 正常执行 false 走第一个 非bool 走default case c >= 90 && c <= 100: ... break; }
5.3. if、switch比较
定值 -> 用switch
范围 -> 用if
6. 逻辑运算符
逻辑运算符包括: 与&& 或|| 非!
6.1. 真和假
undefined,null,NaN,“”,0,false 为假,其它值都是真。
6.2. 与 &&
遇到真就往后走,遇到假或走到最后就返回当前的值
var a = 1 && 2; console.log(a); // 2
// 1 && 1 返回1 真
// 0 && 1 返回0 假
// 1 && 0 返回0 假
// 0 && 0 返回0 假
// if (… && …) {} if条件里的逻辑运算符就是这样执行的
6.3. 或 ||
遇到假就往后走,遇到真或走到最后就返回当前的值
var b = 1 || 2; console.log(b); // 1
var b = 0 || null || 1 || 0; console.log(b); // 1
// 遇到假就往后走,遇到真或走到最后就返回当前的值
// 1 || 1 返回1 真
// 0 || 1 返回1 真
// 1 || 0 返回1 真
// 0 || 0 返回0 假
// if (… || …) {}
作用
var name = '';
console.log(name || "未找到数据")
a.onclick = function (e) {
var event = e || window.event; // IE e -> window.event
}
6.4. 非 !
取反
console.log(!1); // false
7. 注释
7.1. 单行注释
// 行注释
7.2. 多行注释
/*
* 块注释
*/
8. 作业
用户输入星期几,输入上午或下午,然后在页面上显示出相应的计划安排
var day = window.prompt("请填写星期几");
var time = window.prompt("选择上午或下午");
var plan;
if (time === '上午') {
switch (day) {
case '星期一':
plan = '看电影'
break;
case '星期二':
plan = '逛街'
break;
case '星期三':
plan = '看书'
break;
case '星期四':
plan = '健身'
break;
case '星期五':
plan = '玩游戏'
break;
case '星期六':
plan = '弹吉他'
break;
case '星期日':
plan = '练瑜伽'
break;
default:
plan = '输入的值不正确'
break;
}
} else if (time === '下午') {
switch (day) {
case '星期一':
plan = '去买菜'
break;
case '星期二':
plan = '去游泳'
break;
case '星期三':
plan = '考驾照'
break;
case '星期四':
plan = '上网课'
break;
case '星期五':
plan = '去爬山'
break;
case '星期六':
plan = '去滑冰'
break;
case '星期日':
plan = '去博物馆'
break;
default:
plan = '输入的值不正确'
break;
}
} else {
plan = '输入的值不正确'
}
document.write(`${day}${time}的安排:${plan}`)
444

被折叠的 条评论
为什么被折叠?



