莫要用双等号比较数组
长得一样,但不同
1 alert( [] == [] ); // false 2 alert( [0] == [0] ); // false
当数组变量指向的是同一个数组对象,即使是长得不一样,那也相等。
1 let arr=["apple","orange"]; 2 let arr1=arr; 3 console.log(arr1==arr);
数组和0比较
1 alert( 0 == [] ); // true 2 3 alert('0' == [] ); // false 4 // 在 [] 被转换为 '' 后 5 alert( 0 == '' ); // true,因为 '' 被转换成了数字 0 6 7 alert('0' == '' ); // false,没有进一步的类型转换,是不同的字符串