ホームページ  >  記事  >  ウェブフロントエンド  >  jsのfor inループとjava_javascriptのforeachループの違いの分析スキル

jsのfor inループとjava_javascriptのforeachループの違いの分析スキル

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

この記事の例では、js の for in ループと Java の foreach ループの違いを分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

js の for in ループは次のように定義されます:

コードをコピー コードは次のとおりです。
for(var variable in obj) { ... }

obj には、通常の js オブジェクトまたは配列を指定できます。 obj が js オブジェクトの場合、トラバーサル中に取得される変数は、オブジェクトの属性の名前であり、属性に対応する値ではありません。 obj が配列の場合、トラバーサル中に取得される変数は配列の添字です。

オブジェクトの横断実験:

コードをコピーします コードは次のとおりです。
var v = {}; v.field1 = "a"; v.field2 = "b"; for(var v in v) {
コンソール.ログ(v); }


コンソールの下の出力:
フィールド1
フィールド2
配列の走査実験:


コードをコピー

コードは次のとおりです。var mycars = new Array() mycars[0] = "サーブ" mycars[1] = "ボルボ"
mycars[2] = "BMW"

for (mycars の var x){
console.log(x);
}


コンソール出力:
0
1
2

Java の foreach ループを比較すると、2 つの大きな違いがあります。まず、Java の foreach ループは Java オブジェクトのプロパティを列挙しません。次に、Java の foreach ループが配列または Iterable インターフェイスを実装するオブジェクトを列挙する場合、for (Object o : list) では、オブジェクト o はリスト内の添字ではなく、リストの要素を取得します。

Java トラバーサル コードは投稿されません。私はバックグラウンド コードを書くことが多く、foreach ループは非常に馴染みがあります。フロントエンドの JS コードを記述する場合、Java 構文を適用することは避けられないため、初めて JS の for in ループを使用したときに間違いを犯しました。今回わかりやすくまとめておけば、今後失敗することはありません。

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

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