[英]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 = undefined
是undefined
,它是一個偽造的值,它將停止循環。
這意味着一旦i
大於或等於someForm.elements.length
(當someForm.elements[i]
undefined
),循環就會停止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.