


Zusammenfassung der Unterscheidung zwischen Object- und Aarry-Methoden in JS
1. Häufig auftretende Probleme:
Bei der Beurteilung des Typs eines Objekts in JS wird normalerweise typeof verwendet. Zu diesem Zeitpunkt tritt das Problem auf, da typeof() beim Identifizieren eines Arrays zurückgegeben wird .Objekt, daher sind für die Beurteilung, ob ein Objekt ein Array in JS ist
, einige spezielle Verarbeitungsmethoden erforderlich. Im Folgenden werden sechs Verarbeitungsmethoden vorgestellt, die ich zusammengefasst habe.
2. Direkt zur Sache
Um bei der Entwicklung festzustellen, ob ein Objekt ein Array ist, empfiehlt sich die Verwendung der folgenden Funktion:
function isArray(obj){ if(Array.isArray){ return Array.isArray(obj); }else{ return Object.prototype.toString.call(obj)==="[object Array]"; } }
Die obige Funktion ist praktisch für Menschen, die Probleme lösen möchten. Ich werde die sechs Methoden im Folgenden ausführlich beschreiben, da der Prüfer möglicherweise umfassende Kenntnisse benötigt von Ihnen während des Interviews;
Detaillierte Erklärung der drei und sechs Lösungen:
(1) Methode 1: Versuchen Sie, die Variable mit der toString-Methode
umzuwandeln einen String, der seinen Typ darstellt, indem Sie die Methode toString() aufrufen. Diese Methode ist für echte Arrays möglich; wenn das Parameterobjekt in eine Zeichenfolge umgewandelt wird, die [Objektargumente] zurückgibt, schlägt die Konvertierung auch für Objektklassen fehl, die numerische Längenattribute enthalten.
Die Methode ist wie folgt:
nbsp;html> <title>Array的判断方法</title> <meta> <script> function isArrayOne(arr){ return <span style="color:#cc0000;">Object.prototype.toString.call(arr) === "[object Array]"; } var obj = {"k1":"v1"}; var arr = [1,2]; console.log("对象的结果:"+isArrayOne(obj)); console.log("数组的结果:"+isArrayOne(arr)); </script>
Das Ergebnis ist wie gezeigt:
Hinweis: Es wird empfohlen, „=== gleich zu gleich“ statt „== gleich zu gleich“ zu verwenden, da dies effizienter ist!
(2) Methode 2: Über isArray:
Mit Javascript 1.8.5 (ECMAScript 5) kann der Variablenname .isArray() diesen Zweck erreichen, sofern diese Funktion unterstützt wird. Tatsächlich ist isArray die Kapselung der
Methode eins.
Die Verwendung ist sehr einfach:
Array.isArray(obj); //obj ist das zu erkennende Objekt
Gibt true oder false zurück, wenn wahr, ist es wahr ein Array
(3) Methode 3: Beurteilung anhand des Instanzoperators,
Hinweis: Die linke Seite des Instanzoperators ist das untergeordnete Objekt (das zu testende Objekt) und die rechte Seite ist der übergeordnete Konstruktor (hier Array),
Das heißt: untergeordnete Objektinstanz des übergeordneten Konstruktors
Instanz: Instanz: Jedes mit dem neuen Konstruktor () erstellte Objekt wird als Instanz des Konstruktors bezeichnet
Ich war schon lange verwirrt, daher ist es besser, direkt auf den Code zu schauen:
nbsp;html> <meta> <meta> <meta> <meta> <meta> <title>Document</title> <script> var obj = {"k1":"v1"}; var arr = [1,2]; console.log("Instanceof处理对象的结果:"+(obj instanceof Array)); console.log("Instanceof处理数组的结果:"+(arr instanceof Array)); </script>
Die laufenden Ergebnisse lauten wie folgt:
(4) Verwenden Sie die Funktion isPrototypeOf()
Prinzip: Erkennen Sie, ob ein Objekt der Prototyp eines Arrays ist (oder sich im Array befindet). Prototypenkette. Es kann nicht nur das direkte übergeordnete Objekt erkennen, sondern auch alle übergeordneten Objekte in der gesamten Prototypenkette.
Verwendungsmethode: parent.isPrototypeOf(child), um zu erkennen, ob das übergeordnete Objekt der Prototyp des untergeordneten Objekts ist ;
Es ist zu beachten, dass die von der Funktion isPrototypeOf() implementierte Funktion dem instancof-Operator sehr ähnlich ist
Array.prototype.isPrototypeOf( arr) //true bedeutet ein Array, false ist kein Array
(5) Verwenden Sie den Konstruktor-Konstruktor
Spezifischer Code:
nbsp;html> <meta> <meta> <meta> <meta> <meta> <title>Document</title> <script> var obj = {'k':'v'}; var t1 = new Array(1); var t2 = t1; console.log(obj.constructor == Array); console.log(t1.constructor == Array); console.log(t2.constructor == Array); </script>(6) Verwenden Sie typeof (Objekt) + Typnamen zur Beurteilung:
Der Code lautet wie folgt:
nbsp;html> <meta> <meta> <meta> <meta> <meta> <title>Document</title> <script> function isArrayFour(arr){ if(typeof(arr)==="object"){ if(arr.concat){ return "This is Array"; }else{ return "This Not Array"; } } } var arr = [1]; var obj = {'k':'v'}; console.log(typeof(arr)); console.log(typeof(obj)); console.log(isArrayFour(arr)); console.log(isArrayFour(obj)); </script>
Diese Methode weist tatsächlich einige Einschränkungen auf Die Schüler können es möglicherweise sofort lösen, d 🎜>
Die obige Zusammenfassung der sechs Möglichkeiten zur Unterscheidung von Object und Aarry in JS ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie die chinesische PHP-Website unterstützen können.
Weitere Artikel zur Zusammenfassung der JS-Methode zur Unterscheidung von Object und Aarry finden Sie auf der chinesischen PHP-Website!

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Dreamweaver CS6
Visuelle Webentwicklungstools

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
