2016-10-26 2 views
-1

それは要求のように見えますが、独自にフォーマットされた関数や構文を含む配列ですが、私はそれのより良い理解を得るためにGoogleに何をしてもわからない:このJavascriptの "convention"または "practice"とは何ですか?

var requests = { 
    rewardPoints: function(cb) { 
    io.getRewardPoints(require.mozuData('user').accountId).then(function(rewards) { 
     add('rewardPoints', rewards); 
     cb(); 
    }, function() { 
     add('rewardPoints', null); 
     cb(); 
    }); 
    }, 
    segment: function(cb) { 
    io.getMySegment().then(function(res) { 
     add('segment', res); 
     cb(); 
    }, cb); 
    }, ................... 

コードスニペットは、数とに行きます名前の後ろにコロンが続きます。これは、各変数が関数として動作する変数の配列ですか?他の機能と同じ名前でこれらの機能を呼び出すことはできますか?例:

rewardPoints();  
segment(); 

このコンベンションまたはプラクティスの名前はありますか?

+1

[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/)には、JavaScriptのチュートリアルやガイドがたくさんあります。この特定の質問は、この[JavaScriptオブジェクトの手引き](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects)で回答されているようです。 –

+1

プロトタイプパターンのように見えますが、https://addyosmani.com/resources/essentialjsdesignpatterns/book/#prototypepatternjavascriptで調べることができます。オブジェクトであり配列ではありません:) – Horse

+0

ありがとうございます! – sparecycle

答えて

1

これはちょうどliteral notationであり、オブジェクトであり配列ではありません。

他の機能と同じように、これらの機能を名前で呼び出すことはできますか?

はい。

rewardPoints();  

号は、彼らは、オブジェクトのプロパティではない変数です。

requests.rewardPoints();  
+0

ありがとう@クエンティン!それは物事を明らかにする。 – sparecycle

0

これは単にあなたが値としての機能を持っているキーと値のペア

var requests = { 
    rewardPoints: <.. value.. >, 
    segment: < .. value .. > 
} 

の代わりに通常の値を持つJavaScriptオブジェクトです。

キーを参照して関数を呼び出すことができます。関数を呼び出すには、かっこを追加するだけです。

requests.rewardPoints // < -- that will bring up the function 
requests.rewardPoints() // < -- this will execute the function 
関連する問題