0

ここに私の質問があります。最近のクールな子供たちはJavaScriptをどのようにレイアウトしていますか?私は周りを見回していて、誰もがそれを異なっているように見えると言うことができます。オブジェクトリテラル内に関数を含む人もいれば、関数をリストし、上記のすべての変数をリストする人もいます。では、eveyoneは、コードをどのようにレイアウトすればよいと考えているのでしょうか。

var logsomestuff ="somestuff";

function logIt(){ 
   console.log(logsomestuff);
}

または多分

logIt = {
   logsomestuff: "somestuff",
   logIt: function(){
      console.log(this.logsomestuff);  
   }
}

私は人々がどう思うかわかりません、あなたのjsをレイアウトするための最良の方法は?上記はほんの2つの例です。もっとたくさんあると確信しています。助けてくれてありがとう

4

2 に答える 2

3

すべてのクールな子供たちは、変数のスコープを設定するために関数クロージャを使用しています。

このコードはすぐに実行され、グローバルスコープには何も残されません。すべてが、jQuery$.app変数にぶら下がっています。

(function($) {

  $.app = $.app || {};

  $.app = { 
      log : function(stuff) {
        console.log(stuff);
      },
      helpers : { 
          convertJsonDateString = function(date) {
               return "somecrazyregex";
          }
      };

})(jQuery);
于 2012-08-21T19:06:04.013 に答える
1

クロージャーは、デイブが言及した理由と、実際にJavascriptに何らかの構造を持たせることができるという理由から、最近では断然「クールな」子供たちのやり方です。モジュールを設定する方法は、通常、次のようになります。

var ModuleName = function(sandbox, options) {

    //Class functions
    function someButtonHandlerOrSomething() {

    }

    return {
        init: function() { //Initialization logic }
        load: function() { //Load }
        destroy: function() //On exit }
    }
}

また、コア関数を使用してjQueryなどのライブラリを抽象化するため、アプリケーションに依存しないため、多くのバニラJavascriptを作成する必要がありますが、実際にはその方法を好みます。

このビデオは私を大いに助けました:http ://www.youtube.com/watch?v = vXjVFPosQHw

于 2012-08-21T19:49:28.523 に答える