1.js空数组是true还是false?
var arr = new Array();
当一个数组初始化后,即使arr数组中没有元素,也是一个object。
typeof arr; //object
既然是object 判断时就会被转化为true
Boolean(arr) //true
但是如果将arr与布尔值比较:
arr == false; //true
arr == true; //false
数组和布尔值比较,都会将两边的值转化为Number.
如arr与false比较,false转化为0,arr为空数组,也转化为0
Number(arr)//0
NUmber([]) //0
所以 [] == ![] //true