2

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

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

    f.app.base.action();

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

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

4

2 回答 2

4

test没有全局定义。您必须使用正确的参考:

alert(f.test);

应该管用。

于 2012-10-23T21:42:11.720 回答
2

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

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

f.app.base.action();

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

于 2012-10-23T21:44:27.997 回答