JavaScript运算符的扩展
一、1.算术运算符:
+:若运算符两边有一个为字符串,则执行拼接炒作(结果为字符串类型)
//隐式转换
alert('89'+100+1); //891001
alert(89+100+'1'); //1891
console.log('10'-'5'); //5
2.比较运算符:
1) == (等于)
2) ===(全等)**
console.log('hello'==' hello');//false
console.log(''+1);//空字符串
3.逻辑运算符:
若运算符两边的操作数不是布尔类型,则运算结果也不一定是布尔类型
&&:
若第一个操作数为真,则结果是第二个操作数
若第一个操作数为假,则结果是第一个操作数
var a=1&&false; //false
var a=0&&false; //0
var a=1&&0; //0
var a=1&&2; //2
var a=1&&'hello'; //hello
console.log(a);
||:
若第一个操作数为真,则结果为第一个(第二个不执行)
若第一个操作数为假,则结果为第二个
var a = 1 || 0; //1
var a=1||2; //1
var a=0||2; //2
var a=0||1; //1
console.log(a);
var a = 3;
var b = 1 || ++a; //1
console.log(a, b);
二、布尔类型扩展:
true为: 1
在判断语句中:除了数字0,null,undefined和空字符串,其余数字均为真
false为: 0
//布尔类型: true 1 false 0 自动转换
console.log(true + false);
var a;
'我和你' ? console.log('hello') : console.log('world');