var ie = !-[1,];
还能说什么呢..... 心里只有无穷的崇拜
[1,]在标准浏览器会返回字符串"1",相当于调用[1,].toString,,IE则返回"1,"。
但是这样IE与标准都会通过检测,因此使用负号强制转换为数字,标准能成功转换为1,
1会在if中自动转换为true,而IE则转换为NaN,再自动转换为false!
var ie = !-[1,];
还能说什么呢..... 心里只有无穷的崇拜
[1,]在标准浏览器会返回字符串"1",相当于调用[1,].toString,,IE则返回"1,"。
但是这样IE与标准都会通过检测,因此使用负号强制转换为数字,标准能成功转换为1,
1会在if中自动转换为true,而IE则转换为NaN,再自动转换为false!