JavaScriptの中の丸括弧()と角括弧[]の特殊な使い方
2130 ワード
理由:
JSという言葉はあまりにも柔軟で、もちろん足りないところもたくさんあります.今日はいろんなソースJSの脚本が溢れています.だから、多くの人のプログラミングのスタイルが一気にあなたの前に押し寄せます.特に、マスター級のJSコードのスタイルと技巧.
最近NIKEのこのウェブサイトのソースコードを分析する時、次の配列の表現方式を見ました.
上で定義したコードを使って、次のようになります.
明らかに、動作方式は標準配列方式ですが、配列要素は2種類のデータタイプになります.本質的には上の表現はまだ対象のタイプですが、次のアプリケーションコードからは、このような表現が二つの場合のニーズを実現していることが分かります.
RegExpオブジェクトがサポートされている環境下とRegExpオブジェクトがサポートされていない環境下で.
注意:上で使う演算は、それぞれinstance ofです. typeofとは、JSの自動タイプ変換に合わせて理解する必要がありますよ.
結論:上記は良い配列要素表現技術です.環境がRegExpオブジェクトに適合するかどうかを考えてみました.
また、以下のような引用文があります.http://www.jb51.net/article/40358.htmを選択します
JavaScriptの中の丸括弧()と四角い括弧[]の特殊な使い方に疑問があるかもしれませんが、ここではこれらの疑問を持って詳しく紹介します.
(1,2,3)//return 3;なぜ3に戻りますか?これはどういう仕組みですか?丸括弧はどのような役割を果たしていますか?(1,2,3,alert)(Amazing!)ここはもっと面白いです.直接alertを呼び出すことができます.テストを経て、グローバル関数はこのように呼び出すことができます.以下は四角い括弧についての質問です.JSではほとんど行列とイコールを描いていますが、不思議なこともあります.[1,2,3][1]///return 2;もちろん、この方法もよく使用されています.配列の索引や呼び出しの対象の応答属性名は、ある変数に格納されています.[1,2,3][1,2]///return 3;このような場合は面白いです.上の括弧の場合と似ています.括弧の最後の値を返します.(1、2、3)の中で、括弧とコンマは演算子です.コンマ演算子は最後の式の求値結果を返します.具体的な規則は自分で調べられます.(「Amazing」)の括弧は関数呼び出しを表します.alertは関数オブジェクトであり、式の求値結果として返すと、当然呼び出されます.[1,2,3]ここの四角い括弧は、宣言配列の定数であり、[1]に続く配列要素を表します.[1,2,3][1]は[1,2,3]という配列の最初の要素を意味する.すなわち2(下付きは0から)[1,2,3]、[1,2,3]=[1,2,3][(1,2)=[1,2,3]=[2,3]=3
JSという言葉はあまりにも柔軟で、もちろん足りないところもたくさんあります.今日はいろんなソースJSの脚本が溢れています.だから、多くの人のプログラミングのスタイルが一気にあなたの前に押し寄せます.特に、マスター級のJSコードのスタイルと技巧.
最近NIKEのこのウェブサイトのソースコードを分析する時、次の配列の表現方式を見ました.
// always trusted origins, can be exact strings or regular expressions
var alwaysTrustedOrigins = [(/\.nike.com/),
(/\.nikedev.com/),
(/\.nike.com.tw/),
(/\.swoosh.com/),
(/\.nikeid.com/),
(/\.facebook.com/),
(/\.rga.com/),
(/\.custhelp.com/)];
上で定義したコードを使って、次のようになります.
var alwaysTrusted = false, i = alwaysTrustedOrigins.length;
while (i-- && !alwaysTrusted) {
if (alwaysTrustedOrigins[i] instanceof RegExp) {
alwaysTrusted = alwaysTrustedOrigins[i].test(remote.origin);
}
else if (typeof alwaysTrustedOrigins[i] == "string") {
alwaysTrusted = (remote.origin === alwaysTrustedOrigins[i]);
}
}
明らかに、動作方式は標準配列方式ですが、配列要素は2種類のデータタイプになります.本質的には上の表現はまだ対象のタイプですが、次のアプリケーションコードからは、このような表現が二つの場合のニーズを実現していることが分かります.
RegExpオブジェクトがサポートされている環境下とRegExpオブジェクトがサポートされていない環境下で.
注意:上で使う演算は、それぞれinstance ofです. typeofとは、JSの自動タイプ変換に合わせて理解する必要がありますよ.
結論:上記は良い配列要素表現技術です.環境がRegExpオブジェクトに適合するかどうかを考えてみました.
また、以下のような引用文があります.http://www.jb51.net/article/40358.htmを選択します
JavaScriptの中の丸括弧()と四角い括弧[]の特殊な使い方に疑問があるかもしれませんが、ここではこれらの疑問を持って詳しく紹介します.
(1,2,3)//return 3;なぜ3に戻りますか?これはどういう仕組みですか?丸括弧はどのような役割を果たしていますか?(1,2,3,alert)(Amazing!)ここはもっと面白いです.直接alertを呼び出すことができます.テストを経て、グローバル関数はこのように呼び出すことができます.以下は四角い括弧についての質問です.JSではほとんど行列とイコールを描いていますが、不思議なこともあります.[1,2,3][1]///return 2;もちろん、この方法もよく使用されています.配列の索引や呼び出しの対象の応答属性名は、ある変数に格納されています.[1,2,3][1,2]///return 3;このような場合は面白いです.上の括弧の場合と似ています.括弧の最後の値を返します.(1、2、3)の中で、括弧とコンマは演算子です.コンマ演算子は最後の式の求値結果を返します.具体的な規則は自分で調べられます.(「Amazing」)の括弧は関数呼び出しを表します.alertは関数オブジェクトであり、式の求値結果として返すと、当然呼び出されます.[1,2,3]ここの四角い括弧は、宣言配列の定数であり、[1]に続く配列要素を表します.[1,2,3][1]は[1,2,3]という配列の最初の要素を意味する.すなわち2(下付きは0から)[1,2,3]、[1,2,3]=[1,2,3][(1,2)=[1,2,3]=[2,3]=3