Js仕様
1791 ワード
厳格モード
ECMAScript 5の厳格なモードはスクリプト全体または独自の方法で活性化されます.それは異なるjavascript言語環境に対応して、より厳格なエラーチェックを行います.厳格なモードページはjavascriptコードのより強固さを確保しています.
厳密なモードは、今後導入される可能性の高い予備キーの使用を阻止する.
あなたは脚本の中でも厳格なモードを使うべきです.独立したIIIIFEでそれを適用したほうがいいです.脚本の最初の行でそれを使用すると、左右の脚本がすべて厳格なモードに起動されます.これは第三者のクラスの問題を引き起こすかもしれません.
変数宣言
常にvarを使用して変数を宣言します.varを指定しないと変数はグローバル変数として暗黙的に宣言されます.
真偽を判断する
jsの中で以下の内容は偽です.falsenullundefined 0''NaN
デフォルトのパラメータを設定
この操作に基づいて、各表現は左から右へ真偽の判定を行います.この操作に基づいて、最終的には変数の割り当て時にコードを簡略化するために使用されます.
xが存在しなく、yが存在しない場合、x=1
修正したObject.prototypeとArayは厳しく禁止されています.他の建設対象をFuntions.proptypeに修正しても、被害はそんなに大きくないですが、開発過程でdebugが難しい問題があるので、避けなければなりません.
三元条件判断(ifのショートカット文法)
三元のオペレータで文を割り当てたり返したりして、比較的簡単な状況で使うことを避けて、複雑な状況で使うことを避けます.10行の三元操作で自分の頭をくらくらさせる人はいません.
js仕様では、多くの仕様は、論理的な仕様ではなく、できるだけ使用する===ではなく、JSHintやJSLint、Javascriptコードの検証ツールです.このようなツールはあなたのコードを確認し、関連するコードの改善意見を提供します.
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'
JSHintjs仕様では、多くの仕様は、論理的な仕様ではなく、できるだけ使用する===ではなく、JSHintやJSLint、Javascriptコードの検証ツールです.このようなツールはあなたのコードを確認し、関連するコードの改善意見を提供します.