Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 jquery如何传递上一次迭代中的变量?_Javascript_Jquery_Image_Recursion_Iteration - Fatal编程技术网

Javascript jquery如何传递上一次迭代中的变量?

Javascript jquery如何传递上一次迭代中的变量?,javascript,jquery,image,recursion,iteration,Javascript,Jquery,Image,Recursion,Iteration,我有一个通过对象的每个循环 在其中,我创建了一些图像,我想把上一次迭代中的图像引用数据放入其中 例如: .each((function(some_data){ return function(i, obj){ var prev='???'; // how do I retrieve the value from the last cycle? var image=new Image(); image.data('prev',prev); prev

我有一个通过对象的每个循环

在其中,我创建了一些图像,我想把上一次迭代中的图像引用数据放入其中

例如:

.each((function(some_data){ return function(i, obj){

    var prev='???'; // how do I retrieve the value from the last cycle?
    var image=new Image();
        image.data('prev',prev);
        prev=image;
                // how do I pass the value to next cycle?
    }})(some_data));

每次调用之前,都要在外部作用域中定义变量

var prev=null;
collection.each(function(idx, val){
   alert("Prev should have value from previous iteration (or null):" + prev);
   var image=new Image();
   image.data('prev',prev);
   prev=image;
 })(some_data));

在jquery的每个作用域中使用一个全局值

myloopingvar=null;

 .each((function(some_data){ return function(i, obj){

if(loopingvar !=null) 
 {// do stuff
 }
 var image=new Image(); image.data('prev',prev); loopingvar=image }})(some_data));

把你的
prev
定义从
每个
块中去掉。哦,我从来没想过。。。但这听起来是个好主意!我是否可以在不使用返回函数()的情况下从中传递I和obj变量?是的,我认为不需要函数包装器。如果您必须等待图像加载到此循环中,那么事情将变得更加困难。全球的。哎呀。(当使用
var
方法时,根据另一个答案,当代码有希望在另一个函数中时,它不会污染
窗口
)@pst由于全局命名空间问题,直到一夜的bug搜索,人们才开始欣赏仔细的范围界定:p