Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptのfor...inループとfor...ofループの違いは何ですか?


ループのfor...inとfor...の違い

両方のループが何かを繰り返します。それらの主な違いは、反復する内容にあります。

1)for ... in loop

このループは、列挙可能なプロパティを繰り返し処理します 任意の順序でオブジェクトの。プロパティのみを考慮し、値は考慮しません。

次の例では、 for ... inを使用しています プロパティをループします 配列のが繰り返されます。配列なので、インデックス は重要なプロパティであるため、すべての要素のインデックスが繰り返され、出力に表示されます。インデックスに加えて、「 inherProp2」などのいくつかの継承されたプロパティ "、" inherProp1 「」も表示されます。

例-1

<html>
<body>
<script>
   Object.prototype.inherProp1 = function() {};
   Array.prototype.inherProp2= function() {};
   var org = ["Apple", "Microsoft", "Tesla"]
   org.anotherOrg = "solarCity";
   for (var key in org) {
      document.write(key);
      document.write("</br>");
}
</script>
</body>
</html>

出力

0
1
2
anotherOrg  // own property
inherProp2 // inherited property
inherProp1 // inherited property


次の例では、 hasOwnProperty()なので が使用され、インデックスなどの独自のプロパティのみが使用されます およびその他のプロパティは、「 inherProp1」などの継承されたプロパティとして表示されます。 "と"inherProp2 「は表示されません。

例-2

<html>
<body>
<script>
   Object.prototype.objCustom = function() {};
   Array.prototype.arrCustom = function() {};
   var org = ["Apple", "Microsoft", "Tesla"]
   org.anotherOrg = "solarCity";
   for (var i in org) {
      if (org.hasOwnProperty(i)) {
         document.write(i);
         document.write("</br>");
      }
   }
</script>
</body>
</html>

出力

0
1
2
anotherOrg

2)For...ofループ

for ... in とは異なり、 ループ、 for ... of ループは、オブジェクトが反復するように定義した値を反復します。

次の例では、「 Apple」などのプロパティ '、'マイクロソフト 'および'テスラ ' for ... ofを使用して出力に表示されます ループ。

<html>
<body>
<script>
   var org = ["Apple", "Microsoft", "Tesla"]
   for (var key of org) {
   document.write(key);
   document.write("</br>");
}
</script>
</body>
</html>

出力

Apple
Microsoft
Tesla

  1. JavaScriptの関数とメソッドの違いは何ですか?

    JavaScriptでも関数とメソッドは同じですが、メソッドはオブジェクトのプロパティである関数です。 以下はJavaScriptの関数の例です- function functionname(param1, param2){    // code } 例 メソッドはオブジェクトに関連付けられた関数です。以下はJavaScriptのメソッドの例です- <html>    <head>       <script>          var e

  2. JavaとJavaScriptの違いは何ですか?

    Web開発者のJeremyKeithが2009年に述べたように、「JavaはJavaScriptに、ハムはハムスターになります」。そのアナロジーの正確さは議論の余地がありますが、その背後にある精神は確かです。JavaとJavaScriptは、共通の言語ルートを共有しているにもかかわらず、2つの非常に異なるプログラミング言語です。何年にもわたって、それらはもう少し重複するようになりましたが、JavaScriptは、Webサイトをインタラクティブにする主要なフロントエンド言語であり続け、Javaはサーバーサイドおよびアプリケーションプログラミングで引き続き人気があります。開発者を雇ったり、コーディ