亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

js for循環,為什么一定要加var定義i變量

2024-09-06 12:45:35
字體:
來源:轉載
供稿:網友
譬如下面。
代碼如下:
for(i=0;i<10;i++){//就不寫成: var i=0
   alert(i);
}

  但是,這真的不是個好習慣,下面我就說說為什么寫Js的for循環一定要加var,否則會時不時給你帶來煩人難查的bug。
  譬如現在我們要實現這樣的功能:輸出  
  10
  20
  30
  40
  50
  60
  70
  80
  90
  100
  通過下面code實現,WriteNumber從1到10循環,每次循環調用TenTimes方法返回10倍的索引值。 
代碼如下:
<script type="text/javascript">
function WriteNumber() {
for (i = 1; i <= 10; i++) {
document.write(TenTimes(i) + "<br/>")
}
}
function TenTimes(v) {
var result = 0;
alert(i);
for (i = 1; i <= 10; i++) {
result += v;
}
return result;
}
WriteNumber();
//alert(i)
</script>

  你會發現最終只輸出了10。大家可以用下面的代碼框運行測試。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
關于在WriteNumber和TenTimes方法里加不加var,就是說是否聲明索引變量i有4種情況:
  第一種情況,WriteNumber和TenTimes各有1個for循環,2個循環里均沒有用var聲明i索引變量。
  運行結果:會alert出1。結果只輸出了10,不是我們所想要的。
  分析:執行WriteNumber時,其作用域內并沒有找到聲明過的變量i,直接對i進行賦值,則隱式的將i聲明為全局變量,(對于函數內部未聲明過的變量,如果給它賦值,會隱式的將它聲明為全局變量。) 循環開始,i=1,調TenTimes方法,發現TenTimes方法也沒有聲明過變量i ,所以TenTimes里的i就是全局變量i,就和WriteNumber的i成了同一個。 這時line9 alert出來的自然是1了。TenTimes循環了10次,使得全局的i變成了11,自然WriteNumber就不會執行第2次循環操作了。
  驗證:如果在WriteNumber();語句后加alert(i),即取消line16的注釋,會發現alert出12(12=10+2個i++),證明了i此時為windows對象。
  第二種情況,WriteNumber聲明了i變量,即line3: var i=1,TenTimes未聲明i變量,即line10: i=1。
  運行結果:line9 alert(i)處報i未定義錯誤 ,因為WriteNumber有聲明過變量i,所以沒有成為全局的i,TenTimes執行時又沒有聲明過i,所以報未定義。若注釋掉line9,輸出結果正確。因為當TenTimes里運行到i=1時,隱式將i聲明是全局變量,不影響WriteNumber里的i。WriteNumber仍然會執行10次循環。
  驗證:如果在WriteNumber();語句后加alert(i),即取消line16的注釋,會發現alert出11(11=10+TenTimes里的i++),證明了此時有windows.i。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合视频一区中文字幕| 国产视频久久久久久久| 国产美女扒开尿口久久久| 5566成人精品视频免费| 亚洲午夜小视频| 久久成人人人人精品欧| 国产精品第一第二| 亚洲国产精品va在线观看黑人| 国产成人综合久久| 日韩av在线精品| 国产成人福利视频| 隔壁老王国产在线精品| 91av在线看| 亚洲精品影视在线观看| 亚洲一区二区三区乱码aⅴ| 久久久久久久久久久久久久久久久久av| 欧美黄色片在线观看| 日韩精品中文字幕在线播放| 亚洲国产婷婷香蕉久久久久久| 日本成熟性欧美| 日本伊人精品一区二区三区介绍| yellow中文字幕久久| 亚洲а∨天堂久久精品9966| 国产精品香蕉av| 最好看的2019年中文视频| 日韩电影免费观看在线观看| 亚洲精品第一页| 日韩在线视频二区| 久久精品电影网站| 欧美激情中文字幕乱码免费| 国产精品美女www爽爽爽视频| www.日本久久久久com.| 精品国产91久久久| 日韩电视剧免费观看网站| 亚洲精品美女免费| 日韩av一区二区在线| 欧美成人精品激情在线观看| 日韩免费观看av| 日韩免费看的电影电视剧大全| 亚洲丁香久久久| 国产精品久久久久99| 国产精品白嫩初高中害羞小美女| 97av在线视频| 色www亚洲国产张柏芝| 国内精品视频在线| 2019av中文字幕| 欧美性少妇18aaaa视频| 亚洲free嫩bbb| 欧美亚洲另类制服自拍| 国产精自产拍久久久久久| 69久久夜色精品国产69| 国产噜噜噜噜久久久久久久久| 最近的2019中文字幕免费一页| 88国产精品欧美一区二区三区| 久久久电影免费观看完整版| 国产自产女人91一区在线观看| 国产精品嫩草影院一区二区| 国产精品视频免费在线| 日韩在线小视频| 国产精品入口免费视频一| 欧美激情小视频| 97超碰蝌蚪网人人做人人爽| 黑人精品xxx一区一二区| 欧美精品免费播放| 亚洲欧美三级在线| 奇门遁甲1982国语版免费观看高清| 亚洲成人黄色网址| 成人黄在线观看| 久久人人爽亚洲精品天堂| 欧美日韩国产页| 亚洲色图色老头| 色狠狠av一区二区三区香蕉蜜桃| 国产欧美最新羞羞视频在线观看| 一本大道亚洲视频| 亚洲欧洲在线播放| 亚洲xxxx妇黄裸体| 国产一区二区三区在线观看视频| 一区二区三区在线播放欧美| 成人免费网站在线观看| 日韩欧美在线观看视频| 91精品国产高清久久久久久| 日韩乱码在线视频| 欧美成人性生活| 国产91精品黑色丝袜高跟鞋| 日韩性生活视频| 欧美成年人在线观看| 裸体女人亚洲精品一区| 日韩av中文字幕在线| 欧美一级黄色网| 午夜免费日韩视频| 91免费在线视频| 久久男人的天堂| 久久精品99久久久久久久久| 高清日韩电视剧大全免费播放在线观看| 92国产精品久久久久首页| 日韩二区三区在线| 国产精品香蕉av| 国产精品免费一区二区三区都可以| 国产精品r级在线| 国产成人精品免高潮费视频| 国产亚洲精品久久久久久牛牛| 91在线高清免费观看| 欧美日韩免费在线| 中文字幕亚洲欧美一区二区三区| 亚洲精品视频网上网址在线观看| 欧美做受高潮1| 欧美插天视频在线播放| 国产成人拍精品视频午夜网站| 粉嫩av一区二区三区免费野| 亚洲成年网站在线观看| 亚洲www在线| 亚洲国产高清高潮精品美女| 另类专区欧美制服同性| 国产精品久久久久久久久久| 欧美日韩电影在线观看| 欧美一级免费视频| 精品国内产的精品视频在线观看| 欧美精品久久一区二区| 自拍亚洲一区欧美另类| 久久久久久国产精品美女| 亚洲国产高清福利视频| 精品动漫一区二区三区| 精品久久久久久中文字幕大豆网| 欧美午夜xxx| 精品国内亚洲在观看18黄| 成人亚洲欧美一区二区三区| www.xxxx欧美| 欧美日韩一区二区三区在线免费观看| 国产精品亚洲美女av网站| 亚洲午夜av久久乱码| 国产精品久久久久久久久免费| yw.139尤物在线精品视频| 亚洲石原莉奈一区二区在线观看| 成人黄色片在线| 国产z一区二区三区| 亚洲第一色在线| 国产精品美女呻吟| 97在线视频精品| 欧美在线观看网站| 久久久国产精品视频| 欧美极品欧美精品欧美视频| 欧美在线观看www| 亚洲天堂网在线观看| 久久在线免费视频| 亚洲欧美日韩中文在线制服| 亚洲第一视频在线观看| 国产福利视频一区| 成人性教育视频在线观看| 国产精品一区二区三区成人| 国产一区二区三区免费视频| 国产欧美日韩精品丝袜高跟鞋| 一区二区成人av| 国产精品青青在线观看爽香蕉| 91久久精品一区| 91国偷自产一区二区三区的观看方式| 久久久噜噜噜久久| 国产精品人成电影在线观看| 久热在线中文字幕色999舞| 欧美成人手机在线| 性金发美女69hd大尺寸| 欧美黑人巨大xxx极品| 午夜精品久久久久久久久久久久久| 亚洲级视频在线观看免费1级| 久久久久久综合网天天|