1

我已经看到了许多在 JS 中创建自己的命名空间的方法,但它确实有点令人困惑。

我们使用了 JQuery,在我们最近参与的一个项目中,我注意到开发人员使用了这种方法:

var myObject = new function ($){
    var localVar = 1,
    init = function(){
        ...
    },
    return {
        init: init
    }
}
  1. 为什么使用“新”功能
  2. 为什么将 $ 传递给这个新函数?
  3. 为什么是这种形式的回报?

在另一个项目中,我们使用了以下方法:

$.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 插件吗?(我不这么认为,因为这是特定于站点的功能)

谢谢,

雅克

4

0 回答 0