jsを編纂する上で注意すべきいくつかの規則

2144 ワード

もっと読む
1、常にvarを使って変数を宣言します.function fun(){var i=0;}など、変数iはグローバル変数になります.
2、定数は、例えばNAME_uを使用する.リック.THISは命名する
3、ECMAScriptはブロック宣言関数を使用することを提案しています.ECMAScriptはルートステートメント(中)の関数だけを許可しています.

      if(x){p}

           var i=function(){…}


      }


ではなく

を使います

      if(x){p}

           function(){…}


      }


<p>4、元のデータの種類をパッケージタイプで宣言しないようにします.
     :
var x = Boolean(0);
if (x) {
  alert('hi');  // This will never be alerted.
}
     :
var x = new Boolean(false);   false     ,     boolean    ,    true,  null undefied    。
if (x) {
  alert('hi');  // Shows 'hi'.
}
<p>5、deleteを使用してオブジェクトの属性を削除することをできるだけ避けるために、nullを賦与する方式を使うのは、再分配値を使用する方式のほうが性能が速いため、同時にdeleteを使用するのは操作工程に異常がないようにする必要があります.
       :
Foo.prototype.dispose = function() {
  this.property_ = null;
};
       :
Foo.prototype.dispose = function() {
  delete this.property_;
};
<p>6、eval()の使用はできるだけ避けます.eval()は意味が乱れやすいので、JSONを使って

の代わりに使うことを勧めます.
<div style=「font-family:sans-serif;font-size:13 px;ライン-height:normal;」
{
  "name": "Alice",
  "id": 31502,
  "email": "[email protected]"
}

<div style=「font-family:sans-serif;font-size:13 px;ライン-height:normal;」
var userInfo = eval(feed);
var email = userInfo['email'];
var userInfo = JSON.parse(feed);
var email = userInfo['email'];
<p>7、for-innを使用して循環しないようにして、元の生態のfor(…;;;;…)を使って代用します.for-iを循環する時、原型の中の属性を調べますので、速度が遅いです.
<p>8、配列オブジェクトを構築する場合は、Aray配列

の代わりにObjectを使用するようにします.
var a1 = new Array(x1, x2, x3);
var a = [x1, x2, x3]; //  Object      
<p>9、可能な限り遅延変数の初期化(変数の割当値)、


<p>10、声明文字列の場合は、「代替」を使用してHTMLを宣言しやすくなります.

記事のキャリア:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml