提问人:Irins 提问时间:11/16/2018 更新时间:11/16/2018 访问量:37
了解 for 循环中的闭包?[复制]
Understanding closures inside a for loop? [duplicate]
问:
我试图把我的头包裹在我发现的闭包上,我理解表面上的闭包,但我在试图理解以下内容时遇到了困难。
我有一个带有 3 个输入字段的 div,上面有一个灰色框,如下所示: https://i.stack.imgur.com/RRYP8.png 当使用 jQuery 触发输入字段的事件时,灰色框应根据输入字段更改为特定文本。focus
下面是实现此目的的以下代码:
function main() {
var tipText = [{
'id': '#email',
'tip': 'Only @pocketbook.com addresses allowed.'
}, {
'id': '#name',
'tip': 'Your name must be capitalized.'
}, {
'id': '#employeeId',
'tip': 'Employee IDs are found on the back of your badge.'
}];
function tipCallback(tip) {
return function() {
$('#tip').text(tip);
};
}
function getTip() {
for (var i = 0; i < tipText.length; i++) {
var item = tipText[i];
$(item.id).focus(tipCallback(item.tip));
}
}
getTip()
}
$(document).ready(main);
我知道我们需要一个闭包,因为状态没有在 for 循环中持久化,但我仍然可以真正理解它。
答: 暂无答案
评论
i
data