前端console log之坑。。。

2021-09-11 17:41:37 字數 548 閱讀 7009

####問題 接下來看一段網上的**,實際測試發現是一樣的。

發現問題了吧,第乙個a應該是空的,第二個才是列印結果,但是第乙個就已經有值了,討論了很長時間又做了下面的測試。

接下來看一下陣列形式,發現依舊如此,通過其他資料發現也有人遇到過這種情況。然後又讓豬哥幫我做了最後乙個測試,我說不用json物件、陣列這類的,直接把a讓它成為乙個整型的資料在測試一遍,有了如下結果:

這就說明問題了,當是陣列和物件的時候,console是不准的,而是整型這類的基本資料型別是準確的,由此結果推斷,chrome會記錄物件的引用,從而log出來的物件引用應該是都是最新的,那麼意味著console.log只是對不可變型別是有效的,而對於引用型別如果連續列印可能不是當時的結果####開始填坑 只能挖坑,不能填坑,那才是真坑。。這個問題也有很多資料可以解決了,不過還是要測試一下。

這樣結果就是準確的,console.log(json.parse(json.stringify(obj)));加上這句話就可以完美的躲避了。

最後,感謝我肥而不膩的豬哥告訴我這個坑,還提供所有的測試素材。

前端console log之坑。。。

問題 接下來看一段網上的 實際測試發現是一樣的。發現問題了吧,第乙個a應該是空的,第二個才是列印結果,但是第乙個就已經有值了,討論了很長時間又做了下面的測試。接下來看一下陣列形式,發現依舊如此,通過其他資料發現也有人遇到過這種情況。然後又讓豬哥幫我做了最後乙個測試,我說不用json物件 陣列這類的,...

前端console log之坑。。。

問題 接下來看一段網上的 實際測試發現是一樣的。發現問題了吧,第乙個a應該是空的,第二個才是列印結果,但是第乙個就已經有值了,討論了很長時間又做了下面的測試。接下來看一下陣列形式,發現依舊如此,通過其他資料發現也有人遇到過這種情況。然後又讓豬哥幫我做了最後乙個測試,我說不用json物件 陣列這類的,...

前端console log之坑。。。

問題 接下來看一段網上的 實際測試發現是一樣的。發現問題了吧,第乙個a應該是空的,第二個才是列印結果,但是第乙個就已經有值了,討論了很長時間又做了下面的測試。接下來看一下陣列形式,發現依舊如此,通過其他資料發現也有人遇到過這種情況。然後又讓豬哥幫我做了最後乙個測試,我說不用json物件 陣列這類的,...