我有一个很大的 js 文件,我想将其分成多个命名空间。
与将所有内容都放在一个命名空间中相比,这是一种好/坏的方法吗?
在 NAMESPACE_FIRST 中如何调用 map 构建?
var NAMESPACE_FIRST = { init:function() { alert("onload functions"); }, this.map:function() { this.length = 0; }, this.map.prototype.build:function(){ return this.length; } }; var NAMESPACE_SECOND = { upload:function() { //do something }, delete:function() { //do something } }; $(function () { NAMESPACE_FIRST.init(); });
最佳答案
好问题!
首先,您的 JavaScript 有点错误。要达到我认为您想要的效果,您的第一个命名空间应如下所示:
var NAMESPACE_FIRST = {
init: function() {
alert("onload functions");
},
map: function() {
this.length = 0;
NAMESPACE_FIRST.map.prototype.build = function() {
alert("1");
return this.length;
}
}
}
因此,回答问题 2,您的 onready 将类似于:
$(function () {
NAMESPACE_FIRST.init();
var obj = new NAMESPACE_FIRST.map();
obj.build();
}
关于问题 1,我对这两种方式都没有真正的看法。
关于JavaScript 多命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455254/