操作符
一元操作符
只能操作一个值的操作叫做一元操作符
1.一元操作符
+ 加法
- 减法
* 乘法
/ 除法
% 取余(取余数)
var z = (-7) % 3;
console.log(z); //-1
var z = 7 % (-3);
console.log(z); //1
** 指数
console.log(2 ** 3); //8
对数字进行一元加操作,结果返回数字本身(负数也是如此,返回数字本身)。
对布尔类型进行一元加操作,true返回1,false返回0;
对null进行一元操作,返回0;
2.递增和递减
++ --在前****先自身先计算,再赋值给变量
var age = 29;
++age; // 等同于 age = age + 1
console.log(age); //30
--age; //等同于 age = age -1
console.log(age); //29
++ – 在后****先将自身的值赋给变量,再自身计算
var num = 10;
console.log(num++);// 10
// 等同于先算出console.log(num) 10,
// 再来计算num++ 11
console.log(num); // 11
// 前置
var i = 1;
var a = ++i;
console.log(i); // 2
console.log(a); // 2
// 后置
var e = 1;
var c = e++;
console.log(e); //2
console.log(c); //1
// 混合
var i= 1;
var a = (++i) + (++i) + (i++);
// 2 3 3+1
// a = 2 + 3 + 3 =8
console.log(i); //4
console.log(a); //8
位操作符
4.逻辑运算符
其他数据类型转换为布尔类型的规则:
null、undefined、0、NaN、空字符串转换为false,
其他转化为 true。
或 、与 、非
①.或:(|| or)(或者的意思)一个为真即为真,只要全部为假是才为假;
②.与: (&& and) (同时存在) 只有全部为真才为真,若一个为假,则为假;
③.非: (!非)(逻辑非) 取反运算。
5.比较运算符
①. == 等于(仅比较值)
console.log(5 == 7); //false;
console.log("5" == 5); //true;
②.=== 绝对等于(值和类型均相等)
console.log("5" === 5); //false;
③.!= 不等于(仅比较值)(不等于)
console.log(5 != 5); //false;
console.log("5" != 5); //false
console.log(5 != 7); //true
④.!== 不绝对等于(值和类型有一个不相等,两个均不相等);
console.log("5" !== 5); //true
⑤.>、 <、 >=、 <=(大于、小于、大于等于、小于等于)(仅比较值)
console.log(5 > 7); //false
console.log("5" > 3); //ture
console.log("5" >= 5); //ture
console.log("5" <= 7); //true
条件操作符
① if语句
if(new Date().getHours() < 18) {
console.log("hello");
}
② if…else…
if(new Date().getHours() < 18) {
console.log("hello");
}else {
console.log("goodbye");
}
③ if…else if …else
if(new Date().getHours() < 18) {
console.log("hello");
}else if( new Date().getHours() < 20) {
console.log("good evening")
}else {
console.log("goodbye");
}
赋值操作符
= x=y
+= x +=y x = x + y
var x = 10;
var y = 5;
x = y ; // x= 5 //**+**
console.log(x); //5
x += y ; // 等同于 x = x + y; //x = 5 + 5 = 10; // **+=**
console.log(x); //10
x -= y ; // 等同于 x = x - y; // x = 10-5= 5 // **-=**
console.log(x); // 5
x/=y; //等同于x = x/y; // x = 5 / 5 = 1 // **/=**
console.log(x); // 1
x %= y; //等同于x = x%y; // x = (1 / 5的余数)= 1 //**%=**
console.log(x); //1
逗号操作符
对它的每个操作数求值(从左到右),并返回最后一个操作数的值
var x = 1;
x = (x+=4,x); // x = (5,5);
console.log(x); //console.log(5,5); //5
var a = 0;
console.log(a +=7,a); //7 7
console.log((a +=1 ,a)); // 8
console.log(2,1); //2 1
console.log((2,1)); // 1
console.log(a = b =3,c=4); // 3 4
console.log((a = b = 3,c = 4)); //4