假设有这样一个json对象:
2、通过!或!!把各种类型转换成bool类型的惯例
2.1、对null的"非"返回true
2.2、对undefined的"非"返回true
2.3、对空字符串的"非"返回true
2.4、对非零整型的"非"返回false
2.5、对0的"非"返回true
2.6、对字符串的"非"返回false
2.7、对数组的"非"返回false
分号是为了和前面的代码隔开,js可以用换行分隔代码,但是合并压缩多个js文件之后,换行符一般会被删掉,所以连在一起可能会出错,加上分号就保险了。你看到的感叹号一般是在压缩过的js文件里面,因为在匿名函数调用的时候,通常我们都是用:
(function(){})()
的形式,但也可以使用另一种形式:!function(){}() 前面的!号可以换成-+~等等一元操作符,从而省下了1字节。