有时候jquery插件多了,用起来名称就混乱了,导入错综复杂。为了区分一下,通常把要用到的function放到不同的对象下去。模拟命名空间。
window.GLOBAL = window.GLOBAL || { namespace:function(){ if(window.$){ var o, d; window.$.each(arguments, function(i, v) { d = v.split("."); o = window[d[0]] = window[d[0]] || {}; window.$.each(d.slice(1), function(i, v2) { o = o[v2] = o[v2] || {}; }); }); return o; } } }
这样的话,当编写或者使用某个function或者插件的时候。我们先在头注册以下命名对象。
GLOBAL.namespace("XJX.Study.Backbone.App.View");
使用后,所有对象都有了,只差使用了。
下面是一个backBone model,PicTabModel就在XJX.Study.Backbone.App.View下了
XJX.Study.Backbone.App.View.PicTabModel = Backbone.Model.extend({ // 模型值校验 validate:function(attrs){ for(var key in attrs){ if(attrs[key] == ''){ return key + "不能为空"; } } } });
用起来就方便了。