javascript:作用域和访问嵌套实体

时间:2015-06-09 16:31:19

标签: javascript scope nested

如果我们有这个设置:

if (typeof(A) === 'undefined')
    A = {};

A.B = new function () {
   ....
   this.C = function () {
      ....
   }
}

从最外层的上下文(范围)访问C函数的一些标准方法是什么?我可以访问js源,所以我可以相应地修改它们。

2 个答案:

答案 0 :(得分:0)

你不应该使用new function(){}。原因:Deathmatch: Self Executing Anonymous Function -vs- "new function"

但是无论如何你没有编写这段代码,你只是编辑一个插件文件,所以你可以使用A.B.C()

来访问C.
    <script>
        if (typeof(A) === 'undefined')
            A = {};

        A.B = new function () {
            this.C = function () {
                alert("I am c");
            }
        }

        A.B.C();
    </script>

答案 1 :(得分:0)

只使用此处提供的代码,A是global variable,因此您可以在任何范围内访问它A.B.C();

if(typeof(A) === 'undefined') {
   A = {};
}
A.B = function() {

    this.C = function() {
        alert('A.B.C was called');
    };
};

A.B.C();