一、JS中的错误
语法错误:Uncaught SyntaxError,语法错误,代码错误一行都不会执行
console.log(1);console.log(2);console.log(3);console.log(4);
通用错误:中断代码执行,错误代码之前的还是会执行的,错误代码之后的就不再执行了
console.log(1);console.log(2);console.log(a); //Uncaught ReferenceError: a is not definedconsole.log(4);
二、JS中的运算符
JS中的运算符: + - * / % ()
// JS中的运算符: + - * / % ()var a = 1,b = 2,d = 3;var c = (a + b) * d;// 1. 先声明变量c// 2. 变量a的值和变量b的值相加,得到的结果再与变量d的值做乘法运算得到结果// 3. 最后将结果赋值给变量c// 优先级:括号运算 > 普通运算 > 赋值运算
- ‘+’ 号表示数学运算符
```javascript
// ”+“ 号运算:它有两种情况,一是数学运算,二是字符串拼接「加号左右两边,有一边出现字符串,那就属于字符串拼接」
// ”+“ 表示数学运算:
var a = 1,
b = 2,c;
c = a + b; console.log(c);
- '+' 号表示字符串拼接```javascript// ”+“ 号表示字符串拼接:var str1 = 1 + '1';var str2 = 'str' + null;var str3 = 'str' + NaN;var str4 = 'str' + 1 + 1;var str5 = 1 + 1 + 'str' + (1 + 1);console.log(str1, str2, str3, str4, str5);
- ‘/‘ 除法运算
NaN:not a number,不是一个有效数字,但是它是属于Number类型的
var a = 10,b = 5,c;c = a / b;console.log(c);// NaN:not a number,不是一个有效数字,但是它是属于Number类型的var a = 0,b = 0,c;c = a / b;console.log(c); // NaNconsole.log(1 / 0); // Infinity
- % 取余运算
// % 取余运算console.log(5 % 2); // 1console.log(5 % 3); // 2console.log(4 % 6); // 4console.log(0 % 6); // 0
三、交换两个值
交换两个值:定义中间变量 ```javascript // 交换两个值: 定义中间变量 var a = 1; var b = 2;
var c = a; a = b; b = c;
console.log(a, b); // 2 1
交换两个值:先两数进行相加```javascript// 先两数进行相加var a = 1;var b = 2;a = a + b;b = a - b;a = a - b;console.log(a, b);
四、前置++和—
// 前置++和--var a = 1;a = a + 1; // -> a++var a = 1;console.log(a++); // 1console.log(a); // 2var a = 1;console.log(++a); // 2
练习题一
var a = 5,b;b = a++ +1;console.log(a, b); // 6 6
练习题二
var a = 5,b;b = ++a + 1;console.log(a, b); // 6 7
练习题三
var a = 5,b;b = a-- + --a;console.log(a, b); // 3 8
练习题四
var a = 5,b;b = --a + --a;console.log(a, b); // 3 7
练习题五
var a = 5,b;b = --a + a++;console.log(a, b); // 5 8
五、比较运算符
JS中的比较运算符包括:>、 <、 >、=、 <=、 ==、 !=、 !==
- 字符串和数字进行比较,会把字符串转换为数字,然后再进行比较
- 字符串和字符串进行比较,会逐一比较ASCII码值「字符串所对应的十进制代码,多个字符的,会从左到右依次对比,直到比出最终的结果」 ```javascript // 比较运算符 var a = 1 > 2; console.log(a);
// 字符串和数字进行比较,会把字符串转换数字,然后再进行比较 var bool1 = ‘2’ > 1; console.log(bool1);
// 字符串和字符串相比较,会逐一比较ASCII码值「字符串对应的十进制代码,多个字符的,从左到右一次对比,直到比出最终的结果」 var bool2 = ‘1.5’ > ‘11’; console.log(bool2);
var bool3 = ‘a’ > ‘b’; console.log(bool3);
<a name="S3Gt1"></a>### 5.1、== 和 === 以及 !=- == 相等:不看数据类型- === 绝对相等:只有值和类型相等,结果才相等```javascript// == 和 === 以及 !=var bool1 = 1 == '1';console.log(bool1);var bool2 = 1 === '1';console.log(bool2);var bool3 = 1 !== '1';console.log(bool3);// NaN和任何值都不相等,包括和它自己var bool4 = NaN == NaN;console.log(bool4);
六、判断语句if else
语法:
if(条件){语句;}
- 在条件判断中&& 表示并且,&&两边都必须满足条件才可以
- || 表示或者,|| 两边有一边满足条件即可
if else 一般用于条件的互斥性
// 成绩查询var score = Number(window.prompt('请输入您的成绩'));if(score >= 90 && score <= 100){alert('您的成绩为优秀');}else if(score >=70 && score <= 89){alert('您的成绩为良好');}else if(score >= 60 && score <= 69){alert('您的成绩刚好及格');}else if(score >=0 && score <= 59{alert('您的成绩不及格');}else{alert('您输入的成绩不合法,请重新输入');}
七、switch case语句
语法:
switch(变量){case 事件1:语句1;break;case 事件2:语句2;break;case 事件3:语句3;break;default:语句;}
练习:
// 城市查询var city = window.prompt('请输入您的');switch(city){case '北京':alert('15k');break;case '上海':alert('14k');break;case '广州':alert('14k');break;default:alert('10k');}
八、逻辑运算符与&&或||非!
逻辑运算符与&&:遇到真就往后面走,遇到假或者走到最后就返回当前值
- 逻辑运算符或||:遇到假就往后面走,遇到真或者走到最后就返回当前值
- 假:0、NaN、null、undefined、’’,其余情况都为真 ```javascript // 逻辑运算符&& || ! 与或非 // 假:0、NaN、null、undefined、’’,其余情况都为真
// 逻辑运算符与&&:遇到真就往后面走,遇到假或者走到最后就返回当前值 // 逻辑运算符或||:遇到假就往后面走,遇到真或者走到最后就返回当前值 var a = 1 && 2; console.log(a);
var b = 1 || 2; console.log(b);
var name = ‘liangyu’; console.log(name || ‘未找到姓名’);
a.onclick = function(e){ var event = e || window.event; }
//非! var a = !!1; var a = !a; var a != a;
<a name="f2Qhz"></a># 九、作业```javascript// 作业:填写星期几,再填写对应的时间段,打印要做的事情var week = window.prompt('请输入星期几');var time = window.prompt('请输入上午还是下午');switch (week) {case '星期一':if (time == '上午') {console.log('看书');} else {console.log('喝茶');}break;case '星期二':if (time == '上午') {console.log('爬山');} else {console.log('跑步');}break;case '星期三':if (time == '上午') {console.log('打球');} else {console.log('下棋');}break;case '星期四':if (time == '上午') {console.log('拍照');} else {console.log('睡觉');}break;}
