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

JavaScriptのinstanceof()メソッドとArray.isArray()メソッドの違いは何ですか?


Array.isArray() メソッドは普遍的であり、どこでも機能できますが、インスタンス 演算子は普遍的ではなく、新しい環境では機能しません。

構文-1

Array.isArray(array);

構文-2

array instance of Array;

次の例では、新しい環境が作成されていない場合、両方の Array.isArrar() およびインスタンス 同じ出力を生成しました。

<html>
<body>
<script>
   var a = [1,2,3,4,5];
   document.write(Array.isArray(a));
   document.write("</br>");
   document.write((a instanceof Array));
   document.write("</br>");
   var b = {}
   document.write(Array.isArray(b));
   document.write("</br>");
   document.write((b instanceof Array));
</script>
</body>
</html>

出力

true
true
false
false

それでは、新しい環境を作成してみましょう。 または、インスタンスかどうかを確認するための新しいフレーム オペレーターはそこで働くかどうか。

次の例では、「 iframe」を使用して新しいフレームが作成されます。 '(オブジェクトのような配列を生成するフレームプロパティ)。その後、オブジェクトのような配列がその新しいフレームに作成され、両方の関数を通過します。 インスタンス以降 普遍的ではないため、フレーム化された配列は実際の配列ではなく、 falseが返されます。 出力として 一方、 Array.isArray() 返されたtrue 出力に示されているように。

<html>
<body>
<script>
   var iframeE = document.createElement('iframe');
   iframeE.style.display = "none";
   document.body.appendChild(iframeE);
   iframeArray = window.frames[window.frames.length - 1].Array;
   var a = new Array(1,2,3,"hi",4, "hello");
   var b = new iframeArray(1,2,3,4);
   document.write(Array.isArray(a));
   document.write("</br>");
   document.write(a instanceof Array);
   document.write("</br>");
   document.write(Array.isArray(b));
   document.write("</br>");
   document.write(b instanceof Array);
</script>
</body>
</html>

出力

true
true
true
false

  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はサーバーサイドおよびアプリケーションプログラミングで引き続き人気があります。開発者を雇ったり、コーディ