Heim Web-Frontend js-Tutorial Zusammenfassung einiger impliziter Konvertierungen in JS

Zusammenfassung einiger impliziter Konvertierungen in JS

Apr 13, 2018 pm 05:17 PM
javascript 使用 总结

Dieses Mal werde ich Ihnen eine Zusammenfassung einiger impliziter Konvertierungen in JS geben. Was sind die Vorsichtsmaßnahmen bei der Verwendung der impliziten JS-Konvertierung? Die Vergleichs- und Konvertierungsregeln zwischen verschiedenen

Datentypen in

js lauten wie folgt:

1. Vergleich von Objekten und booleschen Werten

Beim Vergleich von Objekten und booleschen Werten wird das Objekt zunächst in eine Zeichenfolge und dann in eine Zahl umgewandelt. Der boolesche Wert wird direkt in eine Zahl umgewandelt

[] == true; //false []转换为字符串'',然后转换为数字0,true转换为数字1,所以为false
Nach dem Login kopieren

2. Objekt- und String-Vergleich

Beim Vergleich von Objekten und Zeichenfolgen wird das Objekt in eine Zeichenfolge umgewandelt und anschließend werden die beiden verglichen.

[1,2,3] == '1,2,3' // true [1,2,3]转化为'1,2,3',然后和'1,2,3', so结果为true;
Nach dem Login kopieren

3. Vergleich von Objekten und Zahlen

Beim Vergleich eines Objekts mit einer Zahl wird das Objekt zunächst in eine Zeichenfolge umgewandelt, dann in eine Zahl umgewandelt und dann mit der Zahl verglichen.

[1] == 1; // true `对象先转换为字符串再转换为数字,二者再比较 [1] => '1' => 1 所以结果为true
Nach dem Login kopieren

4. Zeichenfolgen- und Zahlenvergleich

Beim Vergleich von Zeichenfolgen und Zahlen werden die Zeichenfolgen in Zahlen umgewandelt und die beiden verglichen.

'1' == 1 // true
Nach dem Login kopieren

5. String- und Boolescher Vergleich

Beim Vergleich von Strings und booleschen Werten werden beide in numerische Werte umgewandelt und anschließend verglichen.

'1' == true; // true
Nach dem Login kopieren

6. Boolescher und Zahlenvergleich

Beim Vergleich boolescher Werte mit Zahlen wird der boolesche Wert in eine Zahl umgewandelt und die beiden verglichen.

true == 1 // true
Nach dem Login kopieren

Wenn Sie zwei beliebige Typen vergleichen und nicht vom gleichen Typ sind, führen Sie die entsprechende Typkonvertierung durch, wie in der Abbildung gezeigt. Zum Beispiel beim Vergleich von Objekten mit Boolean, Objekt => ; string=> value boolean=>
Außerdem werfen wir einen Blick auf einige Dinge, die „besondere Sorgfalt“ erfordern.

Werfen wir einen Blick auf eine interessante Frage

[] == false;
![] == false;
Nach dem Login kopieren

Die Ergebnisse dieser beiden sind „true“: „object => value 0“ wird in „true“ umgewandelt Der zweite! Konvertieren Sie ihn dann direkt in einen booleschen Wert und negieren Sie ihn. Bei der Konvertierung in einen booleschen Wert werden die leeren Zeichenfolgen (''), NaN, 0, null und undefiniert zurückgegeben [] => ; Die Negation von true ist falsch, also ist [] == false wahr.

Es gibt noch einige weitere Dinge, die Sie sich merken sollten, wie zum Beispiel:

undefined == null //true undefined和null 比较返回true,二者和其他值比较返回false
Number(null) //0
Nach dem Login kopieren
Ich habe einmal so einen Code gesehen:

, können Sie es glauben, es hat dem Baby damals Angst gemacht. (!(~+[])+{})[--[~+""][+[]]*[~+[]]+~~!+[]]+({}+[])[[~!+[]*~+[]]] = sb

Als ich zum ersten Mal damit in Kontakt kam, war JS für mich sehr verwirrend, gerade wegen seiner „Unbeständigkeit“. Lassen Sie es mich unten zusammenfassen:

7. JS-Datentypen : Number, Boolean, String, Undefiniert, Null, Symbol (neu definiert in es6) und Object (Hinweis: Array ist ein spezielles Objekt)

7 von typeof zurückgegebene Typen: Zahl boolesche Zeichenfolge Objekt undefinierte Objektfunktion

MDN führt Javascript wie folgt ein: JavaScript ist eine schwach typisierte oder dynamische Sprache. Dies bedeutet, dass Sie den Typ der Variablen nicht im Voraus deklarieren müssen, sondern der Typ wird automatisch während der Ausführung des Programms bestimmt. Das bedeutet auch, dass Sie dieselbe Variable verwenden können, um verschiedene Datentypen zu speichern

8. Werfen wir einen Blick auf gängige implizite Konvertierungen:

 Grundtyp:

Bei Operatoren (+,-,*,/,%) ist der Konvertierungstyp

„+“-Operator: ˆ ˆ ˆ ˆ Zusammenfassung: Bei Verwendung des Pluszeichenoperators werden String und andere Typen in String konvertiert; in anderen Fällen werden sie in Number als „NaN“ konvertiert, und jede zu NaN hinzugefügte Zahl wird konvertiert be ist NaN.

Wenn andere Operatoren verwendet werden, werden die Grundtypen in Zahlenzeichenfolgentypen mit Zeichen wie „1a“, „a1“ konvertiert, was dasselbe wie „undefiniert“ ist.

Tipp: (1) NaN entspricht keinem Wert, auch nicht sich selbst. Um zu bestimmen, ob ein Wert NaN ist, verwenden Sie „! ==".  

        (2) Die Konvertierung in den booleschen Typ als falsch umfasst: null, 0, '', undefiniert, NaN, falsch   

        (3)number() 与 parseInt() 都可以将对象转化为Number类型,Number函数要比parseInt函数严格很多。基本上,只要有一个字符无法转成数值,整个字符串就会被转为NaN。    

  Object类型

    当object与基本类型运算时:

var obj = {
  toString: function(){
    return 6;
  },
  valueOf: function(){
    return 5;
  }
};
var obj1 = {
  valueOf: function(){
    return 'a';
  },
  toString: function(){
    return 'b';
  }
};
Nach dem Login kopieren

  总结: Number类型会先调用valueOf(), String类型会先调用toString(),  如果结果是原始值,则返回原始值,否则继续用toString 或 valueOf(),继续计算,如果结果还不是原始值,则抛出一个类型错误; 

为什么 {} + [] = 0 ?  因为 javascript在运行时, 将 第一次{} 认为是空的代码块,所以就相当于 +[] = 0.  还有 {} +5 = 5, 同理。

总结:

1. 类型错误有可能会被类型转换所隐藏。

2. “+”既可以表示字符串连接,又可以表示算术加,这取决于它的操作数,如果有一个为字符串的,那么,就是字符串连接了。

3. 对象通过valueOf方法,把自己转换成数字,通过toString方法,把自己转换成字符串。

4.具有valueOf方法的对象,应该定义一个相应的toString方法,用来返回相等的数字的字符串形式。

5.检测一些未定义的变量时,应该使用typeOf或者与undefined作比较,而不应该直接用真值运算。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:



Das obige ist der detaillierte Inhalt vonZusammenfassung einiger impliziter Konvertierungen in JS. 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

Video Face Swap

Video Face Swap

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

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)

So verwenden Sie Magnetlinks So verwenden Sie Magnetlinks Feb 18, 2024 am 10:02 AM

Magnet-Link ist eine Link-Methode zum Herunterladen von Ressourcen, die bequemer und effizienter ist als herkömmliche Download-Methoden. Mit Magnet-Links können Sie Ressourcen im Peer-to-Peer-Verfahren herunterladen, ohne auf einen Zwischenserver angewiesen zu sein. In diesem Artikel erfahren Sie, wie Sie Magnetlinks verwenden und worauf Sie achten sollten. 1. Was ist ein Magnet-Link? Ein Magnet-Link ist eine Download-Methode, die auf dem P2P-Protokoll (Peer-to-Peer) basiert. Über Magnet-Links können Benutzer eine direkte Verbindung zum Herausgeber der Ressource herstellen, um die gemeinsame Nutzung und das Herunterladen von Ressourcen abzuschließen. Im Vergleich zu herkömmlichen Download-Methoden magnetisch

So verwenden Sie MDF- und MDS-Dateien So verwenden Sie MDF- und MDS-Dateien Feb 19, 2024 pm 05:36 PM

Verwendung von MDF- und MDS-Dateien Dank der kontinuierlichen Weiterentwicklung der Computertechnologie können wir Daten auf vielfältige Weise speichern und teilen. Im Bereich digitaler Medien stoßen wir häufig auf spezielle Dateiformate. In diesem Artikel besprechen wir ein gängiges Dateiformat – MDF- und MDS-Dateien – und stellen deren Verwendung vor. Zuerst müssen wir die Bedeutung von MDF-Dateien und MDS-Dateien verstehen. mdf ist die Erweiterung der CD/DVD-Imagedatei und die mds-Datei ist die Metadatendatei der mdf-Datei.

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zufällige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als Nächstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zufällige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfläche und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird häufig in Hardware-Reviews verwendet

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualität bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu ermöglichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne übermäßige Dekoration Es unterstützt außerdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Außerdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautstärke Passen Sie die Lautstärke entsprechend Ihrem Hörzustand an, um Hörschäden durch zu hohe Lautstärke zu vermeiden. Als nächstes lass mich dir helfen

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zunächst können Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach „NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, öffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem täglichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten Übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer großen Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik hören möchten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch möglicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation Wählen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zunächst die benutzerdefinierte Installationsoption aus.

Einfache Anleitung zur Pip Mirror-Quelle: Erlernen Sie ganz einfach die Verwendung Einfache Anleitung zur Pip Mirror-Quelle: Erlernen Sie ganz einfach die Verwendung Jan 16, 2024 am 10:18 AM

Einfacher Einstieg: So verwenden Sie pip Mirror Source Mit der weltweiten Beliebtheit von Python ist pip zu einem Standardtool für die Python-Paketverwaltung geworden. Ein häufiges Problem, mit dem viele Entwickler bei der Installation von Paketen mit pip konfrontiert sind, ist jedoch die Langsamkeit. Dies liegt daran, dass pip standardmäßig Pakete von offiziellen Python-Quellen oder anderen externen Quellen herunterlädt und diese Quellen sich möglicherweise auf Servern im Ausland befinden, was zu langsamen Download-Geschwindigkeiten führt. Um die Download-Geschwindigkeit zu verbessern, können wir die Pip-Spiegelquelle verwenden. Was ist eine Pip-Spiegelquelle? Um es einfach auszudrücken: einfach

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

See all articles