1)if(){}
//不管你在条件判断中写什么,最后都会转为true/false,(其他类型的会转为布尔类型,只有NaN / null / undefined / "" / 0 是false,其余都是true)
2)在js 中,+ - * / %都是数学运算,
除+以外,其余的运算符在运算的时候,如果遇到非数字类型,则先转为数字类型(Number),然后再进行运算
+, 不仅仅代表数字相加,还有字符串拼接
if('3px' + 10){} // 字符串拼接 '3px10' => true
if('3px' -2){} // Number('3px') = NaN => false
3) NaN + 'str' = NaNstr // 字符串拼接
{} + 'str' = NaN
3)typeof()
检测数据类型的方法 : typeof / instanceof / constructor / Object.prototype.toString.call()
typeof 返回值是一个字符串,字符串中包含有对应的数据类型,例如:'number' / 'object' / 'undefined' / 'function' / 'boolean' / 'string'
typeof(null) = 'object'
typeof 检测 {} [] 正则都是返回'object' ,就是无法细分对象
alert() 输出的都是字符串
4)三元运算
三元运算,如果一方不需要做任何处理,我门用null / undefined / void 0 占位即可,
三元运算,条件成立,要执行多条语句,用括号括起来,中间语句用, 隔开
var num = 10;
num > 9 ? (num++, num * 10) : null;
5)switch case
用于变量(或者表达式)在不同值情况下的不同操作,每一个case结束后都要用break 来结束整个语句
n++和n = n +1 的区别
如果n 是数字则结果是一样的
如果n 是字符串,n = n +1 是字符串拼接
n++ 则是数学运算
例: var n = '10'; n = n+1 > '101'
n++ > 11
switch case 和if else 区别
if else 用的是 == ,
switch case 用的是=== 绝对相等
2: 不加break ,后面的条件不管成立不成立都会执行,直到break,利用此机制我们可以实现一些特殊处理,例如n=10 和n = 5时要做同一件事情,那么我们写在一起不用加break
switch(n){
case 10:
case5:
n++;
break;
default:
n--;
}