簡體   English   中英

此停止條件(循環)如何工作?

[英]how does this stop criterion (for-loop) work?

我一直在尋找一種無需輸入服務器就可以將HTML表單中的內容輸入到javascript代碼中的方法,並且在Stackoverflow上找到了這篇文章: 如何在不使用服務器的情況下使用HTML表單

在那里,第一個答案包括以下指向js.fiddle上的代碼示例的鏈接: http : //jsfiddle.net/wG8K4/1/

 function updateBackgroundColor(color) { document.body.style.backgroundColor = color; } function displayFormContents(someForm) { var out = ''; for (var i=0, el; el = someForm.elements[i]; i++) { if (el.name) { out += el.name + ' = ' + el.value + '\\n'; } } alert(out); } 
 <form> <select name='gender' onchange='updateBackgroundColor(this.value);return false;'> <option value=''>Select A Gender</option> <option value='blue'>Male</option> <option value='pink'>Female</option> </select><br/> type your nickname: <input type='text' name='nickname' /><br /> <input type='button' value='Display Form Contents' onclick='displayFormContents(this.form);return false;' /> </form> 

我已經在自己的代碼中嘗試了這種方法,並且可以正常工作。 但是,我不了解此停止條件的工作原理

 el = someForm.elements[i] 

當索引達到一個不再有對應數組元素的值(數組可能返回諸如undefined / false的值)時,此停止條件是否會生效? 我猜是這樣,因為我還可以觀察到循環僅迭代2次(索引0和1)。 但是,我無法驗證這一假設,這就是為什么我想在這里提出。

el = undefinedundefined ,它是一個偽造的值,它將停止循環。

這意味着一旦i大於或等於someForm.elements.length (當someForm.elements[i] undefined ),循環就會停止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM