亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于JavaScript的for語句的問題?

關于JavaScript的for語句的問題?

__blank 2016-04-04 03:13:15
for?(var?i?=?0;?i?<?10;?i++)?{ i; } alert(i);for語句是一個前測試循環語句,也就是說只有當條件表達式“i<10”的返回為true的時候才會繼續循環??墒菫槭裁丛趂or語句外部訪問i的時候,i的值是10呢?這是什么鬼?按常理來說結果應該是9啊,因為是前測試啊。
查看完整描述

5 回答

已采納
?
飛奔的王麻子

TA貢獻12條經驗 獲得超5個贊


當i等于9的時候,程序會進入循環,執行循環完畢。然后會執行i++,此時i已經是10了,繼續執行條件比較,不能滿足條件,所以alert(i)才是10

查看完整回答
4 反對 回復 2016-04-04
  • __blank
    __blank
    恩,理解了,原來是我對條件式的執行順序不清楚才會搞不懂啊。謝謝哦
?
儁破孩

TA貢獻19條經驗 獲得超5個贊

9還是小于10,這個條件滿足了。繼續下一次循環,i = 10之后,10?不會小于10,就跳出循環了,此時i = 10

查看完整回答
反對 回復 2016-04-04
?
叫我圖圖就好了

TA貢獻13條經驗 獲得超4個贊

等你執行到alert(i)的時候,for循環已經執行過了,i已經是10了

查看完整回答
反對 回復 2016-04-04
?
qq_阿集_0

TA貢獻8條經驗 獲得超4個贊

首先你得知道i++是在什么時候執行的。這個for語句可以轉化為

var?i=0;
while(i<10)
{
????i;
????i++;
?}
?alert(i);

因為i是在最后在執行i++,所以出來的時候是10。而且javascript變量作用域的問題,for循環里面的i,外面也能訪問,這點不像c++和java

查看完整回答
反對 回復 2016-04-04
  • 慕粉3135677
    慕粉3135677
    v是否廣東省
  • 慕粉3135677
    慕粉3135677
    發v水電費
  • __blank
    __blank
    作用域這個搞好看到高程的這一段,能理解,當時唯一搞不懂的為什么是10?,F在懂了,可惜只能選一個答案,謝謝你哦
點擊展開后面2
?
安靜_天空

TA貢獻11條經驗 獲得超3個贊

for?(int i?=?0;?i?<?10;?i++)?{

? ? ? ? int A = i;

????}

????alert(A);

這樣試試呢?正常來說是9沒錯的

查看完整回答
反對 回復 2016-04-04
  • 5 回答
  • 0 關注
  • 2333 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號