JS嵌套对象访问全局变量

时间:2012-10-23 21:40:21

标签: javascript json global-variables

我有一个JavaScript对象定义如下......

    var f = {
        test: 'myTestContent',
        app: {
            base: {
                action: function () {
                    alert(test);
                }            
            }
        }
    };

    f.app.base.action();

问题是我无法访问 f 实例中定义的测试变量。是否可以从嵌套对象访问此上下文中的变量?

目前我测试是未定义的。有什么建议?谢谢!

2 个答案:

答案 0 :(得分:4)

test未在全球范围内定义。你必须使用正确的参考:

alert(f.test);

应该工作。

答案 1 :(得分:2)

test不是全局变量,而是f的属性。所以你想要:

var f = {
    test: 'myTestContent',
    app: {
        base: {
            action: function () {
                alert(f.test);  // Notice this line.
            }            
        }
    }
};

f.app.base.action();

访问它就像访问最后一行的f.app一样。