2016-06-16 9 views
1

私はいつもこのタイプのjqueryコーディングスタイルは何と呼ばれていますか?

$(document).ready(function { 
    .... 
}); 

とjqueryのを使用しましたが、私は最近、ちょうど次のようなスクリプトファイルのオープンとの完全なサイトを継承しました:

var gc = gc || {}; 

gc.header = { 

    mobileNav: function() { 
     ... 
    }, 

    headerLink: function() { 
     ... 
    } 
}; 

gc.header.headerLink(); 

私はそれが構造化された見たことがありません実際には非常に使いやすく、コーディングスタイルを改善するためにもっと学びたいと思っています。

誰かが私にこのタイプのコーディングスタイルが何であるかを教えてもらえると助かりましたか?そして、あなたが何か知っていれば、いくつかの学習リソース?

ありがとうございます!

ルイス。

+1

モジュールパターン? –

+0

これはオブジェクト指向プログラミングと呼ばれます。オブジェクトは 'gc'であり、メソッド(関数)を持ち、プロパティも持つことができます。あなたはそれについてもっと読むことができます:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript – Ike10

+3

2はお互いに全く関係ありません – devqon

答えて

4

JavaScriptのシンタックスのこのスタイルは、指向もう少しオブジェクトです。これにより、編集や読み込みが容易になりますが、JavaScriptをnamespacing JavaScriptで「クリーン」にするのにも役立ちます。これは、基本的には、できる限り多くのJavaScriptをグローバルオブジェクトから除外し、コード内の衝突を減らすことを意味します。ラインによって

ライン:

 
var gc = gc || {}; // If a 'gc' object exists, use it. Otherwise create an empty object. 

gc.header = { // In the gc.header object create 2 methods, mobileNav and headerLink 

    mobileNav: function() { 
     ... 
    }, 

    headerLink: function() { 
     ... 
    } 
}; 

gc.header.headerLink(); // Reference the headerLink() method inside gc.header 

これはmobileNavheaderLinkが他のプラグインで使用され、同じ名前を付けることができる非常に一般的な機能であるためmobileNavheaderLinkがグローバル関数である、よりフラットパターンを作成するためのはるかに好ましいです。 。名前空間を使用すると、gc.header.headerLink()がはるかにユニークなので、コードを破損して衝突するリスクを軽減できます。

+0

偉大な答えと説明、ありがとうございます。 +1 –

+0

ようこそ – Andrew

5

通常、名前空間と呼ばれます。 jQueryとはまったく関係ありません。

+0

完璧!この後の簡単なGoogle検索と、それは私が探していたものを正確に示しました!ありがとう –

+0

またはむしろそれはjQueryに固有ではありません – jmoerdyk

関連する問題