理解Javascript對象

學識都 人氣:9.66K

這一篇的例子,主要是來引起對Javascript對象的理解及注意的'。其實是一種面試時的一個坑,實際項目中也是很少用得到,但是爲了提高警惕性,我們來看這個例子:

理解Javascript對象

代碼名稱

var first = {};var second = {k:"second"};var third = {k:"third"};first[second] = 100;first[third] = 200;(first[second])//這裏會輸出什麼內容呢?

如果要自己做一下這個題,後面的解釋先不看。

這裏會輸出什麼樣的結果呢?可能大部分人會覺得結果是100,或者是題目有錯誤,再或者是結果是200。

其實最終結果是200。

爲什麼? 因爲second、third都是對象,而且都是[object object],因此first[second] 等價於first[[object object]] 同樣first[third] 等價於first[[object object]] 所以最終的結果可以是first["[object object]"],例子中對這個表達式進行了兩次賦值操作,所以最終的結果是200。

所以在javascript中,很多的細節需要我們去注意的,或許就是那些面試者,不知道出什麼面試題,盡出這些陷阱式的題目。不過,我們就是需要把基礎打牢固了,什麼都不怕! 後續我會繼續出一些題目來做講解!

通過一個簡簡單單的例題,引發了大家的思考,爲大家學習javascript對象提供了有了許多啓發,希望大家有所收穫。

TAGS: