2013-03-28 96 views
0

我想把我所有的javascript函數放在一個命名空間中。我有兩個JavaScript文件,我試圖把所有的功能都放到一個命名空間中。所以當我爲這兩個文件定義相同的命名空間時。第一個由第二個完成。我已經在兩個文件中定義了我的命名空間,如下所示。有沒有辦法阻止其他人把所有的功能放到一個文件中?謝謝您的幫助。我們可以爲兩個JavaScript文件添加相同的名稱空間嗎?

var mynamespace={ 
foo:function(){Som code}, 
bar:function(){some code} 
}; 
+0

還有RequireJS和AMD。我想我也在JS中看到過一個[nanoloader](https://gist.github.com/pradador/218423)。 – 2013-03-28 03:11:27

回答

1

是的,你可以。在每個文件:

var mynamespace = mynamespace || {}; 

然後從中選擇有該文件的下一行:

mynamespace.foo = function() { 

mynamespace.bar = function() { 

基本上,這樣做是分配的mynamespace的電流值如果存在,則爲mynamespace。否則,它會創建一個新對象。請注意,根據您是否聲明mynamespace以上,您可能需要此排隊代替:

if (typeof mynamespace === 'undefined') { var mynamespace = {} } 
+1

我希望PHP支持'this ||那'語法。 – 2013-03-28 03:14:03

相關問題