总结:
一:
var a = 10 + 20;
一元操作符、二元操作符、三元操作符
返回值
var n = 10 + 20;
var a = 10;
a++;
++a;
var b = ++a;
var b;
b = ++a;
自增操作符放在操作数的前面,会把操作数加1之后的值作为返回值;自增操作符放在操作数的后面,会把操作数加1之前的值作为返回值
console.log(a);
console.log(b);
var b = (a++) + (++a);
console.log(a, b);
var a = -10;
var b = - a;
一元减, 取操作数的相反数
一元加,把其他类型的数据,转化成number类型的数据
var a = ‘10‘;
var b = + a;
console.log(a);
console.log(b);
typeof 操作符 返回值是操作数的类型的名称的字符串
console.log(typeof a);
console.log(typeof b);
console.log(‘abc‘ * ‘5‘);
Not a Number
console.log(10 + ‘20‘);
字符串拼接操作符 + 把两个操作数都转换成字符串之后,再对这两个字符串首尾拼接
算数加法 + 把两个操作数都转换成数字之后,再进行数学上的加法
判断的规则: 两个操作数中只要有一个操作数是字符串类型,那么这个加号就代表字符串拼接的操作符,否则就代表算数加法操作符
二:
var a = 0;
var b = !a;
!操作符,求操作数的布尔值,返回这个布尔值相反的情况
console.log(b);
1. 逻辑非(!)
逻辑非运算符有一个叹号(!)表示,可以用于JS中任何值。无论这个值是什么数据类型,该操作符都会返回一个布尔值。
操作不同类型值的返回值
1. 如果该值是一个对象,返回false
2. 如果该值是一个空字符串,返回true
3. 如果该值是一个非空字符串,返回false
4. 如果该值是一个数值0,返回true
5. 如果该值是任意非0数值(包括Infinity),返回false
6. 如果该值是null,返回true
7. 如果该值是NaN,返回true
8. 如果该值是undefined,返回true
var a = true;
var b = false;
var c = a && b;
&& 操作符,求第一个操作数的布尔值,如果这个布尔值为true,那么最终的返回值就是第二个操作数,否则最终的返回值是第一个操作数
1. 逻辑与(&&)
逻辑与有两个和号(&&)表示,有两个操作数,可以操作JS中的任意两个值。当两个数据值都是布尔值的时候,该操作符会返回布尔值。如果有一个数值不是布尔值,那么则不一定会返回布尔值。
但有一个数据值不是布尔值的时候,它的返回结果遵循以下规则:
1. 如果第一个操作数是对象,则返回第二个操作数
2. 如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象
3. 如果两个操作数都是对象,那么会返回第二个操作数
4. 如果有一个操作数是null,那么返回null
5. 如果有一个操作数是NaN,那么返回NaN
6. 如果有一个操作数是undefined,那么返回undefined
var a = null;
var b = ‘hello‘;
var c = a && b;
console.log(c);
|| 操作符,求第一个操作数的布尔值,如果这个布尔值为true,那么最终的返回值就是第一个操作数,否则最终的返回值是第二个操作数
var a = ‘‘;
var b = 20;
var c = a || b;
console.log(c);
1. 逻辑或(||)
逻辑或操作符有两个竖线符号(||),有两个操作数,可以操作JS中的任意两个值。
如果两个操作数都是布尔值,只有在两个操作数都为false的时候才会返回false,否则返回true。
如果有一个操作数不是布尔值,则遵循以下规则:
1. 如果第一个操作数是对象,则返回第一个操作数
2. 如果第一个操作数的求值结果为false,则返回第二个操作数
3. 如果两个数都是对象,则返回第一个操作数
4. 如果两个操作数都是null,则返回null
5. 如果两个操作数都是NaN,则返回NaN
6. 如果两个操作数都是undefined,则返回undefined
三: 短路操作 var a = 10; var b = false && (a++); console.log(a, b); var a = 10; var b = true || (a++); console.log(a, b); var a = ‘10‘; var b = 10; var c = a == b; var d = a === b; console.log(c); console.log(d);
在与操作符(&&)和或操作符(||)中,如果第一个操作数就已经能确定最终返回的结果,那么就不会去计算第二个操作数了。
四:
关系操作符
小于(<)、大于(>)、小于等于(<=)、大于等于(>=)这几个关系操作符用于对两个值进行比较,比较的规则与我们在上数学课上所学的一样。这几个操作符都会返回一个布尔值。
五:
相等操作符
相等操作符(==)、不相等操作符(!=)、全等操作符(===)、不全等操作符(!==)
相等和不相等 => 先转换类型再比较
全等和不全等 => 仅比较而不转换类型
第一:
条件语句
JavaScript提供if结构和switch结构,完成条件判断。
1. if 结构
语法:
if(表达式1){
表达式2;
}
表达式3;
说明: 程序判断表达式1,成立执行表达式2,不成立执行表达式3
2. if...else... 语句
语法:
if(表达式1) {
表达式2;
} else {
表达式3;
}
表达式4;
说明: 程序判断表达式1,成立执行表达式2,不成立执行表达式3,再执行表达式4
3. if...else if...
if(表达式1) {
表达式2;
} else if(表达式3) {
表达式4;
} else if(表达式5) {
表达式6;
} else {
表达式7;
}
表达式8;
4. 嵌套使用
if(表达式1) { //区块1
if(表达式2) { //区块2
表达式3;
}
表达式4;
}
表达式5;
说明:
1. 程序判断表达式1,不成立执行表达式5,成立进入区块1;
2. 进入区块1,判断表达式2,成立执行表达式3,否则执行表达式4;
break语句和continue语句
- break语句用于跳出代码块或循环。
- continue语句用于立即终止本次循环,返回循环结构的头部,开始下一次循环。
例如:var a = 10;
// break语句: 介绍整个switch语句,必须放到switch的语句块里面
switch(a) {
case 1:
console.log(1);
break;
case 2:
console.log(2);
break;
case 3:
console.log(3);
break;
case 4:
console.log(4);
break;
default:
console.log(‘一个都没有‘);
}
console.log(‘switch已经结束‘);
原文:http://www.cnblogs.com/yz5253760/p/5967948.html