Js仕様

1791 ワード

厳格モード
ECMAScript 5の厳格なモードはスクリプト全体または独自の方法で活性化されます.それは異なるjavascript言語環境に対応して、より厳格なエラーチェックを行います.厳格なモードページはjavascriptコードのより強固さを確保しています.
厳密なモードは、今後導入される可能性の高い予備キーの使用を阻止する.
あなたは脚本の中でも厳格なモードを使うべきです.独立したIIIIFEでそれを適用したほうがいいです.脚本の最初の行でそれを使用すると、左右の脚本がすべて厳格なモードに起動されます.これは第三者のクラスの問題を引き起こすかもしれません.
変数宣言
常にvarを使用して変数を宣言します.varを指定しないと変数はグローバル変数として暗黙的に宣言されます.
var a=b=0;//b            ,  ,      var      ,      var   (                  var   )。  :
(function(){
    'use strict'
    var a=0,
    b=0,
    c=0,
    i,
    j,
    myObject();
}())
厳格なモードを採用することによって得られた利点は、間違った変数を誤って入力すると、エラーメッセージを送ることで、間違ったソースを特定することができます.
真偽を判断する
jsの中で以下の内容は偽です.falsenullundefined 0''NaN
デフォルトのパラメータを設定
この操作に基づいて、各表現は左から右へ真偽の判定を行います.この操作に基づいて、最終的には変数の割り当て時にコードを簡略化するために使用されます.
xが存在しなく、yが存在しない場合、x=1
if(!x){
    if(!y){
        x=1;
    }else{
        x=y;
    }
}
   :
x=x||y||1;

                   ,

(function (log){
    'use strict';
    function multiply(a,b){
    a=a||1;
    b=b||1;
    log('Result'+a*b);    
    }
    multiply();//Result 1
    multiply(10);//Result 10
    multiply(3,NaN);//Result 3
    multiply(9,5);//Result 45
}(window.console.log));
内側のキーオブジェクトの原型チェーンを変更します.
修正したObject.prototypeとArayは厳しく禁止されています.他の建設対象をFuntions.proptypeに修正しても、被害はそんなに大きくないですが、開発過程でdebugが難しい問題があるので、避けなければなりません.
三元条件判断(ifのショートカット文法)
三元のオペレータで文を割り当てたり返したりして、比較的簡単な状況で使うことを避けて、複雑な状況で使うことを避けます.10行の三元操作で自分の頭をくらくらさせる人はいません.
if(x===10){
    return 'valid';
}else{
    return 'invalid';
}

return x===10?'valid':'invalid'
JSHint
js仕様では、多くの仕様は、論理的な仕様ではなく、できるだけ使用する===ではなく、JSHintやJSLint、Javascriptコードの検証ツールです.このようなツールはあなたのコードを確認し、関連するコードの改善意見を提供します.