中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript對象序列化、toString()與valueOf()怎么用

發布時間:2020-10-10 17:51:48 來源:億速云 閱讀:287 作者:小新 欄目:web開發

JavaScript對象序列化、toString()與valueOf()怎么用?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

序列化

JSON.stringify()處理對象

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" }" }"

當對象的value為undefined和Object時會被忽略,為NaN和Infinity為null,對象實例如d,為key和value都加上雙引號

JSON.stringify()處理數組

let arr = [undefined, Object, Symbol(""), { e: 'nice' }]
console.log(JSON.stringify(arr)) 
//輸出 "[null, null, null, { "e": "nice" }]"

自定義序列化

可以重寫toJSON()方法進行自定義序列化

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

當toString和valueOf都存在時,在進行操作時,都會嘗試轉換成基本類型,先找valueOf,如果返回基本類型,這只調用valueOf,如果不是,比如是對象的話,就去找toString,如果也返回Object,就會報錯

感謝各位的閱讀!看完上述內容,你們對JavaScript對象序列化、toString()與valueOf()怎么用大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林右旗| 都昌县| 修水县| 钦州市| 临沭县| 中牟县| 平湖市| 怀安县| 盐边县| 安泽县| 玉屏| 田林县| 阿拉善盟| 阿鲁科尔沁旗| 定州市| 开江县| 乐陵市| 娄烦县| 安化县| 长宁区| 玉山县| 灵川县| 凤山市| 乐陵市| 西乌珠穆沁旗| 鹤山市| 若尔盖县| 吴江市| 尼勒克县| 呼图壁县| 青岛市| 阿城市| 镇原县| 郑州市| 汽车| 璧山县| 临沭县| 鄂温| 龙海市| 南木林县| 昌乐县|