Heim > Web-Frontend > js-Tutorial > Einführung in die JavaScript-Objektserialisierung, die Verwendung von toString() und valueOf()

Einführung in die JavaScript-Objektserialisierung, die Verwendung von toString() und valueOf()

不言
Freigeben: 2019-03-14 11:49:54
nach vorne
2694 Leute haben es durchsucht

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" }" }"
Nach dem Login kopieren

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" }]"
Nach dem Login kopieren

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 }"
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage