Heim  >  Artikel  >  Web-Frontend  >  Was sind primitive Werte in JavaScript? Detaillierte Erklärung primitiver Werte in JavaScript

Was sind primitive Werte in JavaScript? Detaillierte Erklärung primitiver Werte in JavaScript

云罗郡主
云罗郡主nach vorne
2018-11-23 15:52:533569Durchsuche

Der Inhalt dieses Artikels handelt davon, was der ursprüngliche Wert in JavaScript ist. Die detaillierte Erklärung der Originalwerte in JavaScript hat einen gewissen Referenzwert. Ich hoffe, dass sie für Sie hilfreich ist.

Ursprünglicher Wert:

Konzept: Der Wert des Originaltyps ist der Originalwert, dh der Originalwert hat fünf Typen: Zeichenfolge, Zahl , boolean, null und undefiniert .

Verwendung der Methoden valueOf() und toString():

null und undefiniert verfügen nicht über die Methoden valueOf und toString, und beim Aufruf wird ein Fehler gemeldet.

Die valueOf-Methode wird standardmäßig aufgerufen:

Die valueOf-Methodendefinition jedes JavaScript-Objekts ist unterschiedlich:

Was sind primitive Werte in JavaScript? Detaillierte Erklärung primitiver Werte in JavaScript

Zum Beispiel:

// 函数:
<script> 
  var f = function () {}
  console.log(f) // ƒ () {}
  console.log(f.toString()) // function () {}
  console.log(f.valueOf()) // f () {}
</script>
// 对象
<script> 
  var obj = {a: 1, b: &#39;ss&#39;}
  console.log(obj) // {a: 1, b: "ss"}
  console.log(obj.toString()) // [object Object]
  console.log(obj.valueOf()) // {a: 1, b: "ss"}
</script>

(1) Rufen Sie die valueOf-Methode des Objekts auf. Wenn der Rückgabewert der ursprüngliche Wert ist, wird er direkt zurückgegeben, andernfalls wird das Objekt selbst zurückgegeben.

(2) Wenn bei einem Array seine toString()-Methode nicht überschrieben wird, besteht die Standardimplementierung darin, den Rückgabewert der join()-Methode des Arrays als Rückgabewert von toString() aufzurufen.

Beispiel 1:

[1,2,3].toString()  // &#39;1,2,3&#39;
var str = new String("11")
console.log(str) //String {"11"}
console.log(str.valueOf()) // 11 (typeof返回string)
console.log(str.toString()) // 11 (typeof返回string)

Der Grund, warum der Rückgabewert von str.valueOf() 11 ist:

Die valueOf-Methode ruft hier die valueOf-Methode für den String-Prototyp auf. Anstelle der valueOf-Methode für den Prototyp des Object-Objekts steht String.prototype vor Object.prototype in der Prototypkettenstruktur, und die String.prototype.valueOf-Methode gibt eine Zeichenfolge zurück, sodass der Rückgabewert 11 ist.

Beispiel 2:

<script>
var obj = new Object({a: 1})
console.log(obj) // {a: 1}
console.log(obj.valueOf()) // {a: 1}
console.log(obj.toString()) // [object Object]
console.log(obj + 1) // [object Object]1
</script>

Ursache: Bei der Verwendung von Objekten für Operationen wird zuerst die valueOf-Methode aufgerufen. Zu diesem Zeitpunkt ist der Rückgabewert von valueOf immer noch ein Objekt, also ist es die toString-Methode Daher ist der Rückgabewert [Objektobjekt]1.

Bestimmen Sie den spezifischen Typ eines Werts:

Verwenden Sie Object.prototype.toString(). call(val)

String | 🎜> und höher Was ist der ursprüngliche Wert in JavaScript? Eine vollständige Einführung in die detaillierte Erklärung primitiver Werte in JavaScript. Wenn Sie mehr über das

JavaScript-Tutorial

erfahren möchten, schauen Sie sich bitte die chinesische PHP-Website an.

Das obige ist der detaillierte Inhalt vonWas sind primitive Werte in JavaScript? Detaillierte Erklärung primitiver Werte in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen