我写了一个这样的程序:
function a(x,y,z) {
function b(foo,bar) {};
function c(foo,bar) {};
function d(foo,bar) {};
function e(foo,bar) {};
function f(foo,bar) {};
}
我这样调用函数:
for(var i=0; i<5; i++) { charts[i] = a(x[i],y[i],z[i])}
x,y 和 z 是长度为 5 的全局数组和一些属性。
现在,循环在页面加载之前执行,并且每个数组的所有函数也按预期执行(这些函数中的元素绑定了事件侦听器)
假设我想在“加载”页面后从 b、c、d、e 或 f 访问一些局部变量,当调用事件时,我该怎么做?我认为我在这里谈论的是“范围”。
我必须让整个事物成为一个对象吗?
此外,b、c、e 和 f 内部也有局部变量(本地声明且不使用“this”)。a 内部也有变量,可以由 b、c、d、e 和 f 访问(同样,本地声明,不使用“this”)
谢谢!