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 . का उपयोग करके एक नया फ़्रेम बनाया गया है '(एक फ्रेम संपत्ति जो वस्तु की तरह एक सरणी उत्पन्न करती है)। बाद में उस नए फ्रेम में ऑब्जेक्ट जैसी एक सरणी बनाई जाती है और दोनों कार्यों से गुजरती है। उदाहरण . के बाद से सार्वभौमिक नहीं है यह लेता है कि फ़्रेमयुक्त सरणी वास्तविक सरणी नहीं है और झूठी आउटपुट के रूप में जबकि Array.isArray() लौटा सच जैसा कि आउटपुट में दिखाया गया है।
उदाहरण
<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