关于JS的传参问题

有函数组实现的是两个函数的无限循环运行运行的例子如(其他代码不用纠结基本上循环部分就是画框的代码下面两个函数就是函数1和函数2循环执行)这里实现的是两个图片的交替淡入淡出... 有函数组

实现的是两个函数的无限循环运行 运行的例子 如
(其他代码不用纠结 基本上循环部分就是画框的代码 下面两个函数就是函数1和函数2 循环执行 )
这里实现的是两个图片的交替淡入淡出 行28就是调用循环 参数直接写在括号里 以字符串形式传参 完全没问题
但是下面的代码就有问题了
(依然下面两个函数是函数1和函数2 需要循环执行)
调试表示gx未定义 跳转到函数组之后gx就已经过了生命周期吗 但是为什么之前那个就可以呢 还是说数组不能传参?
展开
 我来答
xiangyuecn
2013-12-21 · TA获得超过336个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:302万
展开全部

setTimeout执行的方法运行时的上下文为window,已经离开了调用loop的上下文,因此调用loop的函数里定义的变量无法访问。第二副图里bg1,bg2并没有用var声明在函数里,儿第三幅图gx用var 声明在函数里就是问题所在。


解决方法:

gx定义到window下,污染环境

window.gx=[];

或者,或把gx闭包到函数里头,顺带不要用eval了,直接执行处理方法【推荐】

//eval(function1);
function1();
//eval(function2);
function2();


//textstart? test???
loop(function(){MerryChristmas(gx);},function(){sdk1(gx);},ran(1000,500));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式