函数如下:
function NameSpace(path, cb) {
var o = {}, d;
d = path.split(".");
o = window[d[0]] = window[d[0]] || {};
for (var k = 0; k < d.slice(1).length; k++) {
o = o[d[k + 1]] = o[d[k + 1]] || {};
}
if (cb) {
cb.call(o);
if (o.ready && typeof o.ready === "function") {
o.ready.call();
}
}
}
使用方法:
定义后在当前页面任意位置,包括Ajax加载得到的新页面,都可以使用如下方式声明一个命名空间。
NameSpace("cx.mynamespace", function () {
var context = this;
context.say = function () {
console.log("Hello world!");
}
});
//调用方法
cx.mynamespace.get();
//输出
Hello world!