Javascript 是否可以参考“a”;“实时家长”;功能';来自同一数组的函数内部的s变量?

Javascript 是否可以参考“a”;“实时家长”;功能';来自同一数组的函数内部的s变量?,javascript,Javascript,我完全意识到,就javascript的本质而言,这段代码有点奇怪,但看看它: var arr = [ function () { this.b = "hello"; //or var b = "hello"; arr[1](); }, function () { var str = RealtimeParentFunc.b; alert(str); // want to get "he

我完全意识到,就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]();  

您不能同时定义数组和访问它的值,因为在创建时,
arr2
还不存在

[function(){..},function(){..}]
数组在到达
之前不会创建并设置为
arr2
结尾处的分号。因此,在定义
arr2[1]()
时,不能引用它

在这一点上,您可以先定义数组,然后
.push()
将函数放入数组中,但仍限于按顺序执行:

var arr2 = [];

arr2.push(
function () {
    var b = "hello";
    //arr2[1](); // CAN'T DO THIS since arr2[1] doesn't exist
    return {
        b: b
    };
});
arr2.push(
function () {
    var str = arr2[0]().b;
    alert(str);
    // want to get "hello"
});
// want to get "hello"!
arr2[0]();
arr2[1]();

请参阅working fiddle:

您不能定义数组并同时访问它的值,因为在创建时,
arr2
还不存在

[function(){..},function(){..}]
数组在到达
之前不会创建并设置为
arr2
结尾处的分号。因此,在定义
arr2[1]()
时,不能引用它

在这一点上,您可以先定义数组,然后
.push()
将函数放入数组中,但仍限于按顺序执行:

var arr2 = [];

arr2.push(
function () {
    var b = "hello";
    //arr2[1](); // CAN'T DO THIS since arr2[1] doesn't exist
    return {
        b: b
    };
});
arr2.push(
function () {
    var str = arr2[0]().b;
    alert(str);
    // want to get "hello"
});
// want to get "hello"!
arr2[0]();
arr2[1]();
参见工作小提琴: