我試圖更新並顯示每次用戶提交新名稱時的名稱列表。例如,第一次顯示「Jim」,第二次顯示「Jim Bob」,第三次顯示「Jim Bob Joe」等)。需要使用閉包,加載輸入值,但我想有什麼不對我的循環,我沒有得到任何進一步的輸入任何想法在JavaScript中;試圖循環添加用戶輸入名稱到名稱列表
輸入一個名字,我將它添加到列表中:?
<input type="text" id="newName" value="Doug"/>
<button onclick="closureExample()">closureExample()</button>
<p id="nameList">Abe,Bill,Charlie</p>
<script>
var addName = (function() {
var names = ['Abe', 'Bill', 'Charlie'];
var name = document.getElementById("newName").value;
var text;
for (var i = 0; i < names.length; i++) {
text += names[i];
}
return function() {return text;}
})();
function closureExample(){
document.getElementById("nameList").innerHTML = addName();
}
</script>
即不使用封閉。 IIFE運行一次並返回一個字符串。 * closureExample *然後調用* addName *,這是一個字符串,不能被調用。 – RobG