JavaScriptオブジェクトについてのダイナミックな選択とオブジェクト遍歴


(一)動的選択方法および属性は、実際の作業において、ある条件によって2つの方法[1]のうちの1つを呼び出したり、2つの属性[2]のうちの1つの上で読み書きを行う場合がよくある。以下のコードは、このような状況を示している。
 
if (condition) {
myObj.method1(someArg);
} else {
myObj.method2(someArg);
}
JavaScriptは、四角括弧オペレータ([])を使用して、方法と属性を動的に選択する簡単な文法を提供する。下記のコードに示されているように、JavaScriptには2つの等価メンバーのアクセス文法(この特徴は動的言語でよく見られます)があります。obj[expressitionResultingInmbersname]==obj.memberg Nameは整数の下に表示されている配列の中のある要素にアクセスしています。これは、配列オブジェクト自体に数字の下付きで命名された属性(およびレングス属性)が含まれているからです。しかし、JavaScriptはあなたが点操作子(.)を使って直接これらの属性にアクセスすることを許さないので、myAray.0は文法的には不法です。なぜ、四角い括弧の操作子は点操作子の表示法より強いですか?これは、四角い括弧の中で、メンバー名を表す内容を使って、オブジェクトのメンバーにアクセスすることができるからです。これらの内容は文面量、メンバー名が保存されている変数、名称の組み合わせ(多くの場合は文字列のつなぎ合わせ)、および三元演算子(condition?valueIfTrue:valueIfFalse)実現の高速if/then選択。これらの内容はすべて文字列に処理されます。そしてJavaScriptはこの文字列で対応するメンバーを探します。JavaScriptの関数自体も対象ですので、他の値のように参照できます。表式の結果が関数である場合は、直接に括弧演算子で関数名で関数を呼び出すように呼び出すことができます。このようなテクニックを方法に伝えるパラメータに多く使うと、混乱した括弧はコードが読みにくくなる可能性があります。この時は通常のif/else構造を使うのが賢明です。二)JavaScriptはオブジェクト属性と方法JavaScriptを巡回し、for in文を使用してオブジェクトの属性と方法を巡回します。for in文は、JavaScriptオブジェクトを巡回します。ループごとにオブジェクトの属性または方法を取得します。文法:
 
for(valueName in ObjectName){
//
}
では、value Nameは変数名であり、属性や方法の名称が保存されています。ループごとに、value Nameの値が変わります。