js真是处处危机,大家要处处小心啊

先上一段代码,大家看看。

 

 forvar i=0;i<3;i++){

   if (i=2){
     alert("我的值为2"); 
   }
   else{
     alert("我的值为:"+i); 
   } 
}  

 

 这段代码执行后,大家认为该跳出几个对话框呢。有人说:“3个呗”。如果你也这样认为,那你可真就不够仔细了。你要看清楚了,那句“i=2”,不是“i==2”。

其实正确的答案是:这句代码将会进入死循环,不信试试,哈哈。

 

原因是什么呢,个人理解认为:在js中只要遇到“parameter=value”的时候,就是赋值,不管你在什么时候。即使是在if条件中。

 

 

“if(i=2)”在其他一些语言中会报编译错误的,但是JS不会,所以大家一定要小心啊。

posted @ 2012-03-31 12:07  acles  阅读(240)  评论(0编辑  收藏  举报