迴圈敘述 for 與 for in
- 詳細內容
- 分類:Javascript
- 發佈:2012-12-28, 週五 11:26
- 點擊數:3436
Javascript的for迴圈敘述:
迴圈敘述在所有程式語言中都是使用相當廣泛的,在javascript中常用的迴圈與法有兩種,
for迴圈敘述與while迴圈敘述,兩種迴圈敘述都是用來重複執行某些程式碼區塊。
這篇主要介紹的是for迴圈敘述,以及跟for很像的兄弟 for in敘述。
通常,我們使用for來操作陣列元素,而使用for in來操作非陣列物件,
有時候我們把for in稱之為列舉。
Javascript的for迴圈敘述範例:
一個0加到10的例子:
<script type="text/javascript">
for(var i=1,str="0",val=0;i<11;i++)
{
str=str+"+"+i;
val+=i;
}
document.writeln(str+"="+val);
</script>
輸出 ==>0+1+2+3+4+5+6+7+8+9+10=55
Javascript的for迴圈敘述語法:
for ([initialization]; [condition]; [final-expression])
{
some javascript codes;
}
initialization:初始值,通常用來初始化for迴圈中的計數器,可以用var 來宣告變數,不過這裡的變數並非是for迴圈內的區域變數,變數的有效範圍其實跟for迴圈是相同的。
condition:條件判斷,每個for迴圈開始時都會運算此條件式,只有運算結果為真時才會執行迴圈內的程式碼區塊。
final-expression:運算區,當迴圈結束,下一個迴圈開始前會執行這程式碼。
initialization, condition, final-expression都可以省略。
condition是迴圈的判斷條件,當結果不為真時,就是迴圈的結束。
迴圈的結束條件是很重要的一件事,如果沒有設定好可能會導致無窮迴圈,
如果要省略condition,那迴圈內勢必要有個 break敘述來跳出。
注意 javascript單執行緒的,如果你的迴圈是無窮迴圈,那其他區塊的程式碼,
就不會被執行到,除非你在迴圈內有處理,不然所有的事件都無法回應,
即便是非同步的回呼函式(像是AJAX)都無法執行。
Javascript的 for in
範例:列出所有的window屬性:
<script type="text/javascript">
for ( var a in window)
{
document.writeln( a+"=" );
document.writeln(eval("window."+ a));
document.writeln("<br/>");
}
</script>
輸出會隨著瀏覽器而有所不同,我就不列了。
Javascript的 for in 語法:
for ( A in B)
for in 可以用來列舉某的物件屬性或陣列的鍵(key),
在每一次的迴圈中A都代表著物件B的某個屬性。
用for in來列舉陣列其實不是個好作法,如果陣列物件本身被擴充過,
很可能會導致邏輯上的錯誤。
MDN中的 for迴圈敘述:for
MDN中的 for in 敘述:for in
w3school中的for 與 for in :for 與 for in
按個讚!~支持本站!~
你可能會有興趣的文章:
- javascript 迴圈敘述 while
- javascript 條件敘述 switch..case..
- javascript 條件敘述 if...else...
- javascript 邏輯運算子
- javascript 關係運算子
- javascript 位元運算子