赋值运算符:
=:x=a; 将a的值赋给x
+=: x += y; 等同于x = x + y;
-=: x -= y; 等同于 x = x - y;
*=: x *= y; 等同于 x = x * y;
/=: x /= y; 等同于 x = x / y;
%=:x %= y; 等同于 x = x % y;
算数运算符:
+:加
-:减
*:乘
/:除
%:取余
++:递加
–:递减
比较运算符
==: 等于(值相等,类型可以不相等)
===: 等值等型 (值相等并且类型相等)!=: 不相等(值不相等)
!==: 不等值或不等型(值不相等或类型不相等)
>: 大于
<: 小于
>=: 大于或等于
<= :小于或等于
?: : 三元运算符(a?b:c; 表达式a成立执行表达式b,否则执行表达式c)
逻辑运算符
&&:逻辑与(a&&b 表达式a与表达式b同时成立则为true)
||: 逻辑或 (a||b 表达式a与表达式b有一个成立则为true)
!: 逻辑非 (!a 表达式a不成立则为true)
类型运算符
typeof: 返回变量的类型。
instanceof: 用于判断一个变量是否某个对象的实例,如果是返回 true。
console.log(typeof "Bill" ); // 返回 "string"
console.log(typeof 3.14 ); // 返回 "number"
console.log(typeof NaN ); // 返回 "number"
console.log(typeof false); // 返回 "boolean"
console.log(typeof [1,2,3,4] ); // 返回 "object"
//判断是否是数组
var a=["123"];
console.log(a instanceof Array); //true
constructor 属性返回所有 JavaScript 变量的构造器函数。
console.log("Bill".constructor); // 返回 "function String() { [native code] }"
console.log((3.14).constructor ); // 返回 "function Number() { [native code] }"
console.log(false.constructor ); // 返回 "function Boolean() { [native code] }"
console.log([1,2,3,4].constructor); // 返回 "function Array() { [native code] }"
console.log({name:'Bill', age:62}.constructor); // 返回" function Object() { [native code] }"
console.log(new Date().constructor ); // 返回 "function Date() { [native code] }"
console.log(function () {}.constructor ); // 返回 "function Function(){ [native code] }"
位运算符
&: 与, 如果两位都是 1 则设置每位为 1
|: 或, 如果两位之一为 1 则设置每位为 1
~: 非, 反转所有位
^: 异或, 如果两位只有一位为 1,则设置每位为 1
<<: 零填充左位移 通过从右推入零向左位移,并使最左边的位脱落。
>>: 有符号右位移 通过从左推入最左位的拷贝来向右位移,并使最右边的位脱落。
>>>: 零填充右位移 通过从左推入零来向右位移,并使最右边的位脱落。