Javascript 可能需要闭包将变量分配给动态创建的函数
试图找出如何将“id”变量分配给在循环中动态创建的函数。函数可以很好地工作,但如果有一个“id”,我就可以很方便地用它来找出从哪里来的东西。首先是:Javascript 可能需要闭包将变量分配给动态创建的函数,javascript,loops,closures,Javascript,Loops,Closures,试图找出如何将“id”变量分配给在循环中动态创建的函数。函数可以很好地工作,但如果有一个“id”,我就可以很方便地用它来找出从哪里来的东西。首先是: for(i=0;i<servers;i++){ sockets[i] = io2.connect(serv[i], {reconnect: true}); sockets[i].on('message', function(obj) { var thisid = 'this is '+i; console.log(th
for(i=0;i<servers;i++){
sockets[i] = io2.connect(serv[i], {reconnect: true});
sockets[i].on('message', function(obj) {
var thisid = 'this is '+i;
console.log(thisid);
//more code here
}
用于(i=0;我可能会重复这样的内容:感谢您的回复。我理解闭包示例,但仍停留在如何在循环迭代中创建的函数中动态设置变量的问题上。最后,决定在循环外声明函数,并在每次迭代中创建新函数,这是可行的。干杯!