So ermitteln Sie, ob Variablen in Javascript gleich sind
Beurteilungsmethode: 1. Verwenden Sie den Gleichheitsoperator „==“ oder „===“; 2. Verwenden Sie die Methode „Object.is()“; Verwenden Sie „JSON.stringify()“, um das Objekt oder Array in den String-Typ umzuwandeln, und verwenden Sie dann „===“ für den Gleichheitsvergleich.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
So beurteilen Sie, ob Variablen gleich sind
Um zu beurteilen, ob Variablen gleich sind, gibt es ungefähr die folgenden Möglichkeiten:
-
==
und===
; - 利用数组中的
toString
方法; -
ES6
中的Object.is
方法; - 利用
JSON.stringify
,转换为String
类型来比较;
==
以及 ===
;==
及 ===
==
为转换类型比较运算符,===
为严格比较运算符,在数据类型相同的情况下,使用==
一般不会造成问题。
let num = 5; let num2 = 5; num == num2;//true num === num2;//true
但在数据类型不一致的情况下,==
会做一些隐性的类型转换。
let num = 5; let str = '5'; num == str;//true num === str;//false '' == false;//true '' === false;//false null == undefined;//true null === undefined;//false
隐性转换类型可以带来一些便利性,但也有可能造成不易发现的bug
,所以还是更推荐使用===
来进行比较,这也是TS
之所以流行的原因之一。
此外,上面列举的都是基本数据类型的比较,而在用===
比较引用类型时,会存在一定的局限性。
let a = {xx: 1}; let b = a; a === b;//true let c = {xx: 1}; let d = {xx: 1}; c === d;//false
在比较引用类型时,===
比较的是变量的引用是否相同,而非值
,当引用不同时,就会返回false
。
由此可见,===
并不是一枚无往不利的银弹,在比较对象是否相等时,还需要借助其他更可靠的方法。
【推荐学习:javascript高级教程】
Array toString方法
前端给后端传参时,后端有时会要求多个参数,
隔开,Array toString
方法就比较有用了,这一方法也能用作数组比较。
let arr = [1,3,5,7,9]; let arr2 = [1,3,5,7,9]; arr.toString() === arr2.toString();//true "1,3,5,7,9"
不过也存在一定的局限性,不能用来比较二维及以上的数组、不能包含null
、undefined
、object
、function
等,否则容易出错,如下
[1,3,5,[2,4,6]].toString();//"1,3,5,2,4,6" [1,null,undefined,'',2].toString();//"1,,,,2" [{xx:2},window,1,2].toString();//"[object Object],[object Window],1,2"
Object.is方法
Object.is
是ES6中新增的方法,与===
非常类似,同样用作比较两个值是否相等。
Object.is(1,1);//true Object.is('str','str');//true Object.is({},{});//false
不同的是在判断+0
和-0
、NaN
和NaN
时的区别。
+0 === -0 //true NaN === NaN //false Object.is(+0, -0) //false Object.is(NaN, NaN) //true
在处理兼容性问题时,polyfill可以这么写。
if (!Object.is) { Object.is = function(x, y) { if (x === y) { // 针对+0 不等于 -0的情况 return x !== 0 || 1 / x === 1 / y; } else { // 针对NaN的情况 return x !== x && y !== y; } }; }
JSON.stringify
JSON.stringify
方法用于把对象或者数组转换为一个 JSON字符串,得出的字符串便可以用作对象的比较。
let obj = {name: 'lin', age: 24}; let obj2 = {name: 'lin', age: 24}; obj === obj2;//false JSON.stringify(obj) === JSON.stringify(obj2);//true
JSON.stringify
弥补了===
无法准确比较对象的局限,不过它也有一定的局限性,在遇到undefined
、function
以及symbol
值时会忽略。
另外,值得一提的是利用JSON.parse
、JSON.stringify
可实现对象深拷贝,局限性同上。
何时使用它们
不一样的场景可能有不一样的需求,如果只比较基本数据类型,那么===
就足够了,如果想“一劳永逸
Verwenden Sie die toString
-Methode im Array
Object.is
-Methode; li>Verwenden SieJSON.stringify und konvertieren Sie ihn zum Vergleich in den Typ String
;
==
sind Konvertierungstyp-Vergleichsoperatoren und === code> ist ein strikter Vergleichsoperator. Wenn die Datentypen gleich sind, verursacht die Verwendung von <code>==
im Allgemeinen keine Probleme. 🎜rrreee🎜Aber wenn die Datentypen inkonsistent sind, führt ==
einige implizite Typkonvertierungen durch. 🎜rrreee🎜Der implizite Konvertierungstyp kann eine gewisse Bequemlichkeit bringen, kann aber auch zu Fehlern führen, die nicht leicht zu finden sind
. Daher wird zum Vergleich eher die Verwendung von ===
empfohlen Dies ist auch einer der Gründe, warum TS
beliebt ist. 🎜🎜Darüber hinaus handelt es sich bei den obigen Listen ausschließlich um Vergleiche grundlegender Datentypen. Bei der Verwendung von ===
zum Vergleichen von Referenztypen gelten bestimmte Einschränkungen. 🎜rrreee🎜Beim Vergleich von Referenztypen vergleicht ===
, ob die Referenz der Variablen gleich ist, und nicht der Wert
, wenn die Referenz unterschiedlich ist, wird als false zurückgegeben
. 🎜🎜Es ist ersichtlich, dass ===
kein unbesiegbares Allheilmittel ist. Beim Vergleich, ob Objekte gleich sind, sind andere, zuverlässigere Methoden erforderlich. 🎜🎜【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene🎜]🎜🎜🎜Array toString-Methode🎜🎜🎜🎜Wenn das Front-End Parameter an das Back-End übergibt, benötigt das Back-End manchmal mehrere Parameter, die durch ,
, Array toString
getrennt sind > Methode Es ist nützlicher, diese Methode auch für den Array-Vergleich zu verwenden. 🎜rrreee🎜Es gibt jedoch bestimmte Einschränkungen. Es kann nicht zum Vergleichen von Arrays mit zwei Dimensionen und höher verwendet werden und es darf keine null
, undefinierten
und Objekte enthalten
, function
usw., sonst ist es leicht, Fehler zu machen, wie folgt🎜rrreee🎜🎜Object.is-Methode🎜🎜 🎜🎜Object.is
ist eine neue Methode in ES6. Sie ist ===
sehr ähnlich und wird auch verwendet, um zu vergleichen, ob zwei Werte gleich sind. 🎜rrreee🎜Der Unterschied besteht in der Beurteilung von +0
und -0
, NaN
und NaN
. 🎜rrreee🎜Bei Kompatibilitätsproblemen kann Polyfill so geschrieben werden. 🎜rrreee🎜🎜JSON.stringify🎜🎜🎜🎜JSON.stringify
-Methode wird verwendet, um ein Objekt oder Array in einen JSON-String zu konvertieren, was zu … Für den Objektvergleich können Zeichenfolgen verwendet werden. 🎜rrreee🎜JSON.stringify
gleicht die Einschränkung aus, dass ===
Objekte nicht genau vergleichen kann, weist aber auch bestimmte Einschränkungen auf, wenn undefiniert
auftritt >-, function
- und symbol
-Werte werden ignoriert. 🎜🎜Darüber hinaus ist es erwähnenswert, dass mit JSON.parse
und JSON.stringify
eine objekttiefe Kopie realisiert werden kann, mit den gleichen Einschränkungen wie oben. 🎜🎜🎜Wann man sie verwendet 🎜🎜🎜🎜Verschiedene Szenarien können unterschiedliche Anforderungen haben, wenn nur grundlegende Datentypen verglichen werden, dann === Wenn Sie „<code>ein für alle Mal
“ möchten, ist es zweifellos notwendig, eine benutzerdefinierte Methode zu einem bestimmten Preis zu verwenden. 🎜🎜In der täglich wiederholten Entwicklung müssen Sie noch mehr erforschen. 🎜🎜Weitere Kenntnisse zum Thema Programmierung finden Sie unter: 🎜Programmiervideos🎜! ! 🎜Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob Variablen in Javascript gleich sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

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

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

JavaScript ist eine in der Webentwicklung weit verbreitete Programmiersprache, während WebSocket ein Netzwerkprotokoll für die Echtzeitkommunikation ist. Durch die Kombination der leistungsstarken Funktionen beider können wir ein effizientes Echtzeit-Bildverarbeitungssystem erstellen. In diesem Artikel wird erläutert, wie dieses System mithilfe von JavaScript und WebSocket implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die Anforderungen und Ziele des Echtzeit-Bildverarbeitungssystems klären. Angenommen, wir haben ein Kameragerät, das Bilddaten in Echtzeit sammeln kann
