var funcs = [];
// let's create 3 functions
for (var i = 0; i < 3; i++) {
// and store them in funcs
funcs[i] = function() {
// each should log its value.
console.log("My value: " + i);
};
}
for (var j = 0; j < 3; j++) {
// and now let's run each one to see
funcs[j]();
}Run Code Online (Sandbox Code Playgroud)
它输出这个:
我的价值:3
我的价值:3
我的价值:3
而我希望它输出:
我的价值:0
我的价值:1
我的价值:2
使用事件侦听器导致运行函数的延迟时,会出现同样的问题:
var buttons = document.getElementsByTagName("button");
// let's create 3 …Run Code Online (Sandbox Code Playgroud)在我的AngularJS应用程序中,我正在执行以下操作
$http.get('/plugin/' + key + '/js').success(function (data) {
if (data.length > 0) {
console.log(data);
// Here I would also need the value of 'key'
}
});
Run Code Online (Sandbox Code Playgroud)
现在我需要访问key成功回调中的值,即我需要知道在get()请求发出时它具有哪个值.
任何"最佳实践"如何做到这一点?
PS:我可以做到以下几点,但有更好的方法吗?
var key = config.url.split('/')[2];
Run Code Online (Sandbox Code Playgroud)