1

JSで独自の名前空間を作成するためのいくつかのアプローチを見てきましたが、少し混乱します。

私たちはJQueryを利用しており、最近関わった1つのプロジェクトで、開発者がこのアプローチを使用していることに気づきました。

var myObject = new function ($){
    var localVar = 1,
    init = function(){
        ...
    },
    return {
        init: init
    }
}
  1. 'new'関数を使用する理由
  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{
   ...
}

この2番目の方法はお勧めできません。代わりに、最初の方法を使用する必要がありますか?または、JQueryプラグインを作成する必要がありますか?(これはサイト固有の機能であるため、私はそうは思いません)

ありがとう、

ジャック

4

0 に答える 0