js真是处处危机,大家要处处小心啊
先上一段代码,大家看看。
for(var i=0;i<3;i++){
if (i=2){
alert("我的值为2");
}
else{
alert("我的值为:"+i);
}
}
alert("我的值为2");
}
else{
alert("我的值为:"+i);
}
}
这段代码执行后,大家认为该跳出几个对话框呢。有人说:“3个呗”。如果你也这样认为,那你可真就不够仔细了。你要看清楚了,那句“i=2”,不是“i==2”。
其实正确的答案是:这句代码将会进入死循环,不信试试,哈哈。
原因是什么呢,个人理解认为:在js中只要遇到“parameter=value”的时候,就是赋值,不管你在什么时候。即使是在if条件中。
“if(i=2)”在其他一些语言中会报编译错误的,但是JS不会,所以大家一定要小心啊。