我完全意识到这段代码在 javascript 的本质上有点奇怪,但是看看它:
var arr = [
function () {
this.b = "hello";
//or var b = "hello";
arr[1]();
},
function () {
var str = RealtimeParentFunc.b;
alert(str);
// want to get "hello"
}
];
// want to get "hello"!
arr[0]();
也许这是不可能的,但我想知道是否有办法做到这一点。如何获取调用同一数组中的函数的数组函数的变量?
更新
我不得不回到这个问题并决定发布更新:当然我不能arr[i]
从内部引用,但我必须强调上面的代码不应该太字面意思:它只是一个演示我想要什么;但是,如果我有一个先前在代码中定义的小型“辅助”功能,看起来我可以做我想做的事:
var a = function (i, v) {
return arr[i]()[v];
};
var arr = [
function () {
var h = "hello, ";
var n = a(2, "n");
return {
"h": h+n
}
}, function () {
var h = a(0, "h");
alert(h)
}, function () {
return {
"n": "your name"
}
}];
arr[1]();