ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript の括弧「()」の曖昧さを解析する_JavaScript スキル

Javascript の括弧「()」の曖昧さを解析する_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 17:10:581612ブラウズ

JavaScript には括弧のセマンティクスが 5 つあります

セマンティクス 1、関数宣言時のパラメータリスト

コードをコピー コードは次のとおりです。

function func(arg1,arg2){
// ...
}

セマンティック 2、いくつかのステートメントと組み合わせて使用​​されます。特定の制限を達成するには 関数
コードをコピー コードは次のとおりです:

/ / for in
for(var a in obj){
// ...
}

// if
if(boo){
と一緒に使用します//...
}

// while
while(boo){
// ...
}

// と一緒に使用do while
do{
// ...
}while(boo)

注: if、while、do while と一緒に使用すると、括弧が式を置き換えます。 it 結果は暗黙的にブール値に変換されます。 「JavaScript での暗黙的な型変換」を参照してください。

セマンティック 3、値 (実際のパラメーター) を渡すために new とともに使用されます

コードをコピー コードは次のとおりです。

// クラス Person が定義されており、name (名前) と age (年齢) の 2 つのフィールドがあると仮定します。
var p1 = new Person('Jack ',26) ;

セマンティック 4、関数またはオブジェクト メソッドの呼び出し演算子として (パラメーターが定義されている場合、実際のパラメーターもセマンティック 3 と同じ方法で渡すことができます)
コードをコピー コードは次のとおりです:

// 関数が func であると仮定します。定義されています
func();

// オブジェクト obj が定義されており、 func メソッドがあると仮定します
obj.func();

は typeof 演算子です。このように使用することを好む人もいます

typeof(xxx);

typeof の後の括弧はセマンティック 4 (つまり関数呼び出しではない) ではなく、後述するセマンティック 5 であることに注意してください。私は通常、次の括弧なしで typeof を使用します。

セマンティクス 5、強制式評価

Semantic 5 に関しては、eval を使用して JSON を解析するのが最もよく知られています。

コードをコピー コードは次のとおりです:

function strToJson(str){
// eval の文字列の両側に強制演算子 () が追加されます
var json = eval('(' str ')');
return json ;
}

もう 1 つの例は、匿名関数の自己実行です
コードをコピーします コードは次のとおりです:

(function(){
// ...
})();
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。