Heim Web-Frontend js-Tutorial Zusammenfassung, wie JavaScript Operatoren und Eigenschaften verwendet, um den Objekttyp zu bestimmen

Zusammenfassung, wie JavaScript Operatoren und Eigenschaften verwendet, um den Objekttyp zu bestimmen

Jul 26, 2017 am 11:52 AM
javascript js 运算符

Zu den Operatoren zum Erkennen von Objekttypen in JavaScript gehören: typeof, instanceof und das Konstruktorattribut des Objekts:

1) typeof-Operator typeof ist ein unärer Operator, Das Rückgabeergebnis ist eine Zeichenfolge, die den Operandentyp beschreibt. Zum Beispiel: „Zahl“, „Zeichenfolge“, „boolescher Wert“, „Objekt“, „Funktion“, „undefiniert“ (kann verwendet werden, um festzustellen, ob eine Variable vorhanden ist). Allerdings verfügt typeof über begrenzte Funktionen. Es gibt „Objekt“ für die Typen „Date“ und „RegExp“ zurück. Zum Beispiel:


typeof {}; // "object" 
typeof []; // "object" 
typeof new Date(); // "object"
Nach dem Login kopieren

Es ist also nur nützlich, wenn Objekte und primitive Typen unterschieden werden sollen. Um einen Objekttyp von einem anderen zu unterscheiden, müssen andere Methoden verwendet werden. Zum Beispiel: Instanz des Operators oder Konstruktorattribut des Objekts.

2) Instanz des Operators. Der Instanzoperator erfordert, dass der Operand auf der linken Seite ein Objekt und der Operand auf der rechten Seite der Name der Objektklasse oder des Konstruktors ist. Der Instanzoperator gibt true zurück, wenn das Objekt eine Instanz einer Klasse oder eines Konstruktors ist. Gibt „false“ zurück, wenn das Objekt keine Instanz der angegebenen Klasse oder Funktion ist oder wenn das Objekt null ist. Beispiel:


[] instanceof Array; // true 
[] instanceof Object; // true 
[] instanceof RegExp; // false 
new Date instanceof Date; // true
Nach dem Login kopieren

Daher können Sie den Instanzoperator verwenden, um zu bestimmen, ob das Objekt ein Array-Typ ist:


function isArray(arr){ 
  return arr instanceof Array; 
}
Nach dem Login kopieren

3) Konstruktorattribut. In JavaScript verfügt jedes Objekt über ein Konstruktorattribut, das sich auf den Konstruktor bezieht, der das Objekt initialisiert. Es wird häufig verwendet, um den Typ unbekannter Objekte zu bestimmen. Wenn beispielsweise ein zu bestimmender Wert angegeben ist, können Sie mithilfe des Operators „typeof“ bestimmen, ob es sich um einen primitiven Wert oder ein Objekt handelt. Wenn es sich um ein Objekt handelt, können Sie dessen Typ mithilfe des Konstruktorattributs bestimmen. Die Funktion zur Bestimmung des Arrays kann also auch so geschrieben werden:


function isArray(arr){ 
  return typeof arr == "object" && arr.constructor == Array; 
}
Nach dem Login kopieren

In vielen Fällen können wir dazu den Instanzoperator oder die Konstruktoreigenschaft des Objekts verwenden Erkennen Sie, ob das Objekt ein Array ist. Beispielsweise verwenden viele JavaScript-Frameworks diese beiden Methoden, um zu bestimmen, ob ein Objekt ein Array-Typ ist. Beim Erkennen von Arrays in Cross-Frame-Seiten schlägt dies jedoch fehl. Der Grund dafür ist, dass Arrays, die in verschiedenen Frames (Iframes) erstellt wurden, ihre Prototypeigenschaften nicht miteinander teilen. Zum Beispiel:


<script>
window.onload=function(){
var iframe_arr=new window.frames[0].Array;
alert(iframe_arr instanceof Array); // false
alert(iframe_arr.constructor == Array); // false
}
</script>
Nach dem Login kopieren

Ich habe eine genaue Erkennungsmethode auf Ajaxian gesehen, die die toString()-Methode in der gesamten Prototypenkette aufruft: Object.prototype.toString( ). Kann das oben genannte Cross-Framework-Problem lösen. Wenn Object.prototype.toString(o) ausgeführt wird, werden die folgenden Schritte ausgeführt: 1) Rufen Sie das Klassenattribut von Objekt o ab. 2) Verbindungszeichenfolge: „[object „+result(1)+“]“ 3) Return result(2) Zum Beispiel:

Object.prototype.toString.call([] // Return „ [object Array]"
Object.prototype.toString.call(/reg/ig); // Return "[object RegExp]"

Auf diese Weise können wir eine robuste Methode schreiben, um zu bestimmen, ob Das Objekt ist Array-Funktionen:


function isArray(arr){
  return Object.prototype.toString.call(arr) === "[object Array]";
}
Nach dem Login kopieren

Diese Methode wurde von vielen ausländischen JavaScript-Mastern erkannt und wird im kommenden jQuery 1.3-Check-Array verwendet. Ein Betreuer von „prototyp.js“ hat die folgende Funktion geschrieben, die verwendet wird, um den Typnamen eines Objekts zu erhalten


/**
 * Returns internal [[Class]] property of an object
 *
 * Ecma-262, 15.2.4.2
 * Object.prototype.toString( )
 *
 * When the toString method is called, the following steps are taken: 
 * 1. Get the [[Class]] property of this object. 
 * 2. Compute a string value by concatenating the three strings "[object ", Result (1), and "]". 
 * 3. Return Result (2).
 *
 * __getClass(5); // => "Number"
 * __getClass({}); // => "Object"
 * __getClass(/foo/); // => "RegExp"
 * __getClass(&#39;&#39;); // => "String"
 * __getClass(true); // => "Boolean"
 * __getClass([]); // => "Array"
 * __getClass(undefined); // => "Window"
 * __getClass(Element); // => "Constructor"
 *
 */
function __getClass(object){
  return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];
};
Nach dem Login kopieren

Erweitert, um verschiedene Objekttypen zu erkennen:


var is ={
  types : ["Array", "Boolean", "Date", "Number", "Object", "RegExp", "String", "Window", "HTMLDocument"]
};
for(var i = 0, c; c = is.types[i ++ ]; ){
  is[c] = (function(type){
    return function(obj){
      return Object.prototype.toString.call(obj) == "[object " + type + "]";
    }
  )(c);
}
alert(is.Array([])); // true
alert(is.Date(new Date)); // true
alert(is.RegExp(/reg/ig)); // true
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung, wie JavaScript Operatoren und Eigenschaften verwendet, um den Objekttyp zu bestimmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen Dec 18, 2023 pm 03:39 PM

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Feb 21, 2024 am 09:00 AM

Python wird aufgrund seiner einfachen und leicht lesbaren Syntax in einer Vielzahl von Bereichen häufig verwendet. Es ist von entscheidender Bedeutung, die Grundstruktur der Python-Syntax zu beherrschen, um sowohl die Programmiereffizienz zu verbessern als auch ein tiefes Verständnis für die Funktionsweise des Codes zu erlangen. Zu diesem Zweck bietet dieser Artikel eine umfassende Mindmap, die verschiedene Aspekte der Python-Syntax detailliert beschreibt. Variablen und Datentypen Variablen sind Container, die zum Speichern von Daten in Python verwendet werden. Die Mindmap zeigt gängige Python-Datentypen, einschließlich Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, boolesche Werte und Listen. Jeder Datentyp hat seine eigenen Eigenschaften und Betriebsmethoden. Operatoren Operatoren werden verwendet, um verschiedene Operationen an Datentypen auszuführen. Die Mindmap deckt die verschiedenen Operatortypen in Python ab, z. B. arithmetische Operatoren und Verhältnisse

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Analyse der Bedeutung und Verwendung des +=-Operators in der C-Sprache Analyse der Bedeutung und Verwendung des +=-Operators in der C-Sprache Apr 03, 2024 pm 02:27 PM

Der Operator += wird verwendet, um den Wert des linken Operanden zum Wert des rechten Operanden zu addieren und das Ergebnis dem linken Operanden zuzuweisen. Er ist für numerische Typen geeignet und der linke Operand muss beschreibbar sein.

Die Beziehung zwischen js und vue Die Beziehung zwischen js und vue Mar 11, 2024 pm 05:21 PM

Die Beziehung zwischen js und vue: 1. JS als Eckpfeiler der Webentwicklung; 2. Der Aufstieg von Vue.js als Front-End-Framework; 3. Die komplementäre Beziehung zwischen JS und Vue; Vue.

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Python-Einstieg in die Kenntnisse: von Null-Grundlagen bis zur Projektentwicklung Python-Einstieg in die Kenntnisse: von Null-Grundlagen bis zur Projektentwicklung Feb 20, 2024 am 11:42 AM

1. Einführung in Python Python ist eine universelle Programmiersprache, die leicht zu erlernen und leistungsstark ist. Sie wurde 1991 von Guido van Rossum entwickelt. Die Designphilosophie von Python legt Wert auf die Lesbarkeit des Codes und stellt Entwicklern umfangreiche Bibliotheken und Tools zur Verfügung, mit denen sie verschiedene Anwendungen schnell und effizient erstellen können. 2. Grundlegende Syntax von Python Die grundlegende Syntax von Python ähnelt anderen Programmiersprachen, einschließlich Variablen, Datentypen, Operatoren, Kontrollflussanweisungen usw. Variablen werden zum Speichern von Daten verwendet. Operatoren werden zum Ausführen verschiedener Operationen an Daten verwendet. 3.Python-Datentypen in Python

See all articles