1
A
回答
3
的Drupal能做什麼是使用下面的代碼:
var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'locale': {} };
Drupal.attachBehaviors = function (context, settings) {
context = context || document;
settings = settings || Drupal.settings;
// Execute all of them.
$.each(Drupal.behaviors, function() {
if ($.isFunction(this.attach)) {
this.attach(context, settings);
}
});
};
Drupal.detachBehaviors = function (context, settings, trigger) {
context = context || document;
settings = settings || Drupal.settings;
trigger = trigger || 'unload';
// Execute all of them.
$.each(Drupal.behaviors, function() {
if ($.isFunction(this.detach)) {
this.detach(context, settings, trigger);
}
});
};
// …
使用類似的代碼,你可以使用JavaScript模擬的命名空間。
2
只需創建一個對象。例如: -
var MyNamespace = {};
MyNamespace.variable1 = ...
4
var MyNamespace = {};
MyNamespace.variable1 = value1;
這只是一個對象真的。
3
另外,如果你有很多JS文件,每添加一個「命名空間」或對象到頂層包,你可以做這樣的東西:
ModuleA.js
// if Modules is null, create a new object, else use the currently defined instance
var Modules = Modules || {};
Modules.A = {};
// sample instance variable
Modules.A.instanceVar;
// sample function
Modules.A.myFunc = function(param1, param2) {
// do something
}
ModuleB.js
// if Modules is null, create a new object, else use the currently defined instance
var Modules = Modules || {};
Modules.B = {};
// sample instance variable
Modules.B.instanceVar;
// sample function
Modules.B.myFunc = function(param1, param2) {
// do something
}
那麼你當然可以只給他們打電話,你需要他們Modules.A.myFunc()
或Modules.B.myFunc()
或Modules.B.instnaceVar = 20;
。所以你可以封裝函數和變量。
對於我的代碼,我想有一個根對象,(即),然後添加「類」(對象)它使一切有一個很好的「包像」,「面向對象」的結構給它。
相關問題
- 1. 如何在Javascript中創建名稱空間靜態函數?
- 2. 在Azure中創建名稱空間
- 3. 如何在socket.io的房間中創建/加入名稱空間?
- 4. 如何在Python中創建名稱空間包?
- 5. JavaScript名稱空間
- 6. JavaScript名稱空間
- 7. JavaScript名稱空間
- 8. 如何在javascript中創建頂級命名空間
- 9. 如何在JavaScript中創建XML命名空間節點?
- 10. 如何爲JavaScript中的名稱空間中的對象創建靜態成員?
- 11. Gitlab API:如何在root /名稱空間創建項目?
- 12. 如何在創建SQL請求時忽略XML名稱空間?
- 13. 如何在gerrit下創建自定義名稱空間?
- 14. 爲jquery插件創建名稱空間
- 15. 從變量創建類名稱空間
- 16. 爲OpenSSL Library創建名稱空間?
- 17. 使用名稱空間創建節點
- 18. 使用名稱空間創建XElement?
- 19. 如何避免在新創建的XElement中獲取空名稱空間?
- 20. Javascript名稱空間聲明
- 21. 爲名稱空間內的內置對象創建Javascript原型
- 22. JavaScript函數創建命名空間
- 23. 名稱空間中不存在名稱
- 24. 如何創建一個Python名稱空間(argparse.parse_args值)?
- 25. `ip netns exec`命令如何創建掛載名稱空間?
- 26. 使用xml.etree,如何創建名稱空間屬性「XML:lang」?
- 27. 如何在Javascript中跟蹤/保留全局名稱空間
- 28. 如何在JavaScript中使用名稱空間對象以及AMD?
- 29. 如何在Javascript中添加一個名稱空間函數onclick?
- 30. 如何在JavaScript中記錄名稱空間?
[Javascript命名空間聲明]的可能重複(http://stackoverflow.com/questions/881515/javascript-namespace-declaration) – haylem 2011-05-31 23:04:23