我已经看到了许多在 JS 中创建自己的命名空间的方法,但它确实有点令人困惑。
我们使用了 JQuery,在我们最近参与的一个项目中,我注意到开发人员使用了这种方法:
var myObject = new function ($){
var localVar = 1,
init = function(){
...
},
return {
init: init
}
}
- 为什么使用“新”功能
- 为什么将 $ 传递给这个新函数?
- 为什么是这种形式的回报?
在另一个项目中,我们使用了以下方法:
$.companyName = {
textNotFound: "The search returned no results",
search: {
orders: null,
stock: null
}
}
$.companyName.search.orders = function(param1,...){
...
}
$.companyName.search.stock = function(param1,...){
...
}
使用场景如下所示:
var orders = $.companyName.search.orders(...);
if (orders == null){
alert($.companyName.textNotFound);
}
else{
...
}
第二种方法是否不可取而应使用第一种方法?或者,我们应该编写 JQuery 插件吗?(我不这么认为,因为这是特定于站点的功能)
谢谢,
雅克