Heim > Artikel > Web-Frontend > Einführung in die JavaScript-Objektserialisierung, die Verwendung von toString() und valueOf()
Dieser Artikel bietet Ihnen eine Einführung in die JavaScript-Objektserialisierung, die Verwendung von toString() und valueOf(). Ich hoffe, es hilft.
Serialisierung
JSON.stringify() verarbeitet Objekt
let obj = { val: undefined, a: NaN, b: Infinity, c: new Date(), d: { e: 'nice' }, y: Object } console.log(JSON.stringify(obj)) //输出 "{ "a": null, "b": null, "c": "2019-03-13T12:01:44.295Z", "d": "{ "e": "nice" }" }"
Wenn der Wert des Objekts undefiniert und Objekt ist, wird es ignoriert, NaN und Infinity sind null, Objekt Beispiel: d, fügen Sie dem Schlüssel und dem Wert doppelte Anführungszeichen hinzu
JSON.stringify() verarbeitet das Array
let arr = [undefined, Object, Symbol(""), { e: 'nice' }] console.log(JSON.stringify(arr)) //输出 "[null, null, null, { "e": "nice" }]"
Eine benutzerdefinierte Serialisierung
kann durch Umschreiben des toJSON durchgeführt werden () Methode Benutzerdefinierte Serialisierung
let obj = { x: 1, y: 2, re: { re1: 1, re2: 2, toJSON: function(){ return this.re1 + this.re2; } } } console.log(JSON.stringify(obj)) //输出 "{ "x":1, "y":2, "re":3 }"
toSting()
let obj = { x:1, y:2 } console.log(obj.toString()) //输出 "[object Object]" obj.toString = function(){ return this.x + this.y; } "Result" + obj; //输出 "Result3" 调用了toString +obj; //输出 "3" 调用了toString obj.valueOf = function(){ return this.x + this.y + 100; } "Result" + obj; //输出 "Result103" 调用了toString
des Objekttyps, dies ruft nur valueOf auf. Wenn es sich beispielsweise nicht um ein Objekt handelt, gehe zu toString Gibt Objekt zurück, es wird ein Fehler gemeldet
Das obige ist der detaillierte Inhalt vonEinführung in die JavaScript-Objektserialisierung, die Verwendung von toString() und valueOf(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!