Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可能需要闭包将变量分配给动态创建的函数_Javascript_Loops_Closures - Fatal编程技术网

Javascript 可能需要闭包将变量分配给动态创建的函数

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

试图找出如何将“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(thisid);
        //more code here
    }

用于(i=0;我可能会重复这样的内容:感谢您的回复。我理解闭包示例,但仍停留在如何在循环迭代中创建的函数中动态设置变量的问题上。最后,决定在循环外声明函数,并在每次迭代中创建新函数,这是可行的。干杯!