经典面试题(9):以下代码将输出什么?并解释你的答案。
生活随笔
收集整理的這篇文章主要介紹了
经典面试题(9):以下代码将输出什么?并解释你的答案。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看下面的代碼,輸出的結果是什么?并解釋你的答案。
var a={},b={key:'b'},c={key:'c'};a[b]=123; a[c]=456;console.log(a[b]);
不少人可能會以為答案是?123??,但結果是??456??,為什么會是這樣子的呢。
原因是我們忽略了一個知識點:JavaScript在設置對象的屬性的時候,會暗中字符串化參數值。
在這里例子中,由于 b 和 c都是對象,把它們設置為對象a的參數,它們都將被轉換為?"[object Object]"??。
結果就是,?a[b]?和?a[c]?都相當?"[object Object]"??,而后者會將前者的值覆蓋。
因此,設置或引用?a[c]?和設置或引用?a[b]?完全相同。所以得到的答案是??456??。
熱門文章
原創教程原創教程:
附加習題:
職場焦慮:
感到迷茫:
培訓出身:
培訓費用:
搞笑黑話:
職業自由:
職場形象:
合作推廣分割線
總結
以上是生活随笔為你收集整理的经典面试题(9):以下代码将输出什么?并解释你的答案。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云炬随笔20211016(2)
- 下一篇: 云炬随笔20211016(3)