js中的运算权重。括号运算 > 普通运算 > 赋值
+ - * /
- 加法运算 +,
- 包含数字的数学运算,
- 字符串拼接,字符串加任何数据类型都转换为字符串
- 除法运算 /
- c = 0 / 0, c为NaN
- 0 / 0 // NaN not a number,
- 1 / 0 // infinity
- -1 / 0 // -infinity
- 取模运算:%
- 乘法运算:*
交换值的问题
1 |
|
++ –
1 |
|
运算符在前面加减再运算,在后面相反,先运算,再加减
比较运算符
>
、<
、<=
、>=
、==
、===
、!=
、 !==
数字类型的值直接比较,如果是字符串类型,先转换为字符串相对应的ASCII码(字符相对应的十进制代码),多个字符的,从左到右一次对比,直到比较出ASCII码的大小为止
1 |
|
1 |
|
Switch case 语句
适合判断一个定值,并且当条件有三个或以上时,更加直观
1 |
|
错误
- SyntaxError语法错误,代码不执行
- ReferenceError,在作用域中找不到变量,报引用错误,前面的代码可以执行
- TypeError,作用域判别成功了,但是对结果的操作是非法或不合理的
逻辑运算
与&& 或|| 非!
undefined 、 null 、NaN 、’ ‘ 、0、false是假,其他的都是真,例如1是真,2其实也是真
1 |
|