2010-07-20 63 views

回答

8

你困惑在JavaScript中 「命名空間」。 JavaScript沒有命名空間,只有對象和函數。您已在函數Name1的關閉中聲明Bar1作爲本地函數。它不是Name的成員。我不知道你要去哪裏,但我認爲這是它:

var Foo = { 
    Name1: { 
    Bar1: function(param1) { 
     this.Name = param1; 
    } 
    } 
}; 

var gMyBar = new Foo.Name1.Bar1("hello world"); 
alert(gMyBar.Name); // hello world 
+0

是的,這個想法是我即將 – Polaris878 2010-07-20 16:28:49

3

問題是Bar1是一個本地函數,只能用於Name1函數的範圍。

如果您要訪問Bar1,你可以讓另一Name1命名水平

window.Foo = {}; 
window.Foo.Name1 = { 
    Bar1: function (param1) { 
    this.Name = param1; 
    } 
}; 

var gMyBar = new Foo.Name1.Bar1("hello world"); 
alert(gMyBar.Name); // "hello world" 
相關問題