這是什麼意思,在您自己的名字範圍內編寫JavaScript,顯然它避免了衝突並符合W3C標準,但我不知道它是什麼意思或它是如何完成的?JavaScript名稱範圍
1
A
回答
5
我想你的意思是命名空間。這意味着你應該將你的代碼包含在命名空間中,這樣你就不會污染全局範圍(嗯,你只用一個變量來污染它,就是這樣)。您打算創建的每個函數和其他東西都將存在於該名稱空間中。
一個簡單的命名空間例如,在對象文本
var ns = {
foo : function(){...},
bar : function(){...}
}
你只申報一個全球性的,ns
。其餘的都是通過ns
ns.foo();
ns.bar();
現實生活中的例子可以在JS框架中可以看出存儲在它和訪問。例如,我們有jQuery和下劃線
//jQuery uses "jQuery" and "$" as namespaces and has "each()"
$.each();
//Underscore has "_" as a namespace and also has "each()"
_.each();
雖然它們具有相同的功能名稱,但他們生活在不同的命名空間。這避免了衝突,並幫助您確定哪些屬於哪裏。
5
這是一種最小化全局變量使用的方法(從而避免了可能的衝突)。
var myNS = {}; // Your namespace (an object) = a global var.
myNS.title = "Demo"; // Your variables come here as object properties.
myNS.date = "2012-05-21";
對象屬性可以是任何類型的:標量類型,數組,對象,函數...
3
我猜想這是你自己的對象寫入功能,而不是寫全局函數:
var myScope = (function() {
function privateFunction1() {...}
function privateFunction2() {...}
function a() {...}
function b() {...}
function c() {...}
return {a: a, b: b, c: c};
})();
相關問題
- 1. 在範圍旁顯示範圍名稱
- 2. 的XAML名稱範圍
- 3. 範圍的返回名稱
- 4. 搜索範圍名稱
- 5. 返回範圍的名稱。
- 6. VBA動態名稱範圍
- 7. 從命名範圍的名稱對象
- 8. 設置範圍從另一個範圍名稱
- 9. http://demo.identityserver.io/的範圍名稱和範圍祕密在哪裏?
- 10. 從excel表複製範圍到名稱範圍內的新表
- 11. javascript變量名稱和全局範圍(pinesnotify)
- 12. 如何解析插值範圍名稱?
- 13. 將範圍名稱更新爲指令
- 14. 映射一個「名稱」到範圍
- 15. Excel範圍循環變量的名稱
- 16. Excel VBA刪除ExternalData_ *範圍名稱
- 17. 將值範圍轉換爲名稱
- 18. SQL datareader字段名稱超出範圍
- 19. excel名稱框不選擇範圍
- 20. BOOST_STATIC_ASSERT的名稱空間範圍
- 21. 路由中的模塊名稱範圍
- 22. Excel中的名稱範圍表
- 23. 谷歌電子表格範圍名稱
- 24. 驗證名稱範圍重疊。
- 25. 在'System.Windows.Controls.ControlTemplate'的名稱範圍中找不到'Bd'名稱
- 26. 在'System.Windows.Style'的名稱範圍中找不到名稱
- 27. 範圍名稱不在名稱管理器
- 28. 範圍定義名稱...不會接受名稱
- 29. 在'System.Windows.Controls.ListView'的名稱範圍中找不到'ScaleTransform'名稱
- 30. VBA Excel - 在將數據從一個範圍名稱複製/粘貼到另一個範圍名稱時,避免不要使用範圍名稱
重複:http://stackoverflow.com/questions/8523231/what-is-meant-by-javascript -namespacing – JaredMcAteer