我们先列出所有运算符,然后再来逐个测试,如下:
+ | 加 | 做数值运算时为加法,做字符串运算时为字符串连接 | - | 减 | 减法运算 | * | 乘 | 乘法运算 | / | 除 | 除法运算 | ++ | 自增 | 分为++a和a++,++a为先自增再使用,a++为先使用再自增
| -- | 自减 | 同++ | && | 与 | 找假,前面为假即假,不再进行后面的运算 | || | 或 | 找真,前面为真即真,不再进行后面的运算 | ! | 取反 | true取反后为false | < | 小于 | 字面含义 | > | 大于 | 字面含义 | <= | 小于等于 | 字面含义 | >= | 大于等于 | 字面含义 | == | 值是否相等 | 两值相等返回真,"666"==666 返回真 | === | 值和类型是否相等 | 两值相等且数据类型相等返回真,"666"===666 返回假 | != | 值不等于 | 同上 | !== | 值和类型不等于 | 同上 | += | 加等于 | a+=1等于a=a+1 | -= | 减等于 | 同上 | *= | 乘等于 | 同上 | /= | 除等于 | 同上 | ..arr | 展开运算 | var arr=['a','b','c']; ...arr等于a b c |
console.log(1+1);//2
console.log('a'+'b');//ab
var a=1;
console.log(a++);//1
var a=1;
console.log(++a);//2
var a=1;
var b=2;
var c=3;
var d=4;
console.log(a>b && c<d);//false 前面为假即假,不再进行后面的运算
console.log(a<b || c>d);//true 前面为真即真,不再进行后面的运算
var t=true;
console.log(!t);//false
console.log(666=='666');//true
console.log(666==='666');//false
var a=1;
console.log(a+=1);//2
var a=1;
console.log(a-=1);//0
var arr=['a','b','c'];
console.log(...arr);//a b c
另外,运算符是有优先级的,例如1+1*2等于3,因为乘的优先级高于+,关于优先级的记忆非常繁琐,在生产环境中,我们基本上都会用()来取得优先级。
例如:
(1+1)*2等于4
1+(1*2)等于3
大家只要记住()中的部分优先级最高即可。
好了,以上就是全部运算符,其中比较绕的是 ++ 和 --,只要记住++在前面就先加,在后就是后加,--同理。
|