對象.屬性和對象[‘屬性’]這兩個用法的意義其實是一樣的,都是用來調用對象的屬性。
其中,屬性都是字符串類型的,即使是純數字,也會轉化為字符串類型,但是當對象的屬性的命名不合法時,就會報錯!即使在他上面加了’’不會報錯,也不能使用對象.屬性的方式來獲取屬性的值(對象.屬性中,這里的屬性是不加’’的,也就是不能使用對象.’屬性’這樣的表達,是不合規的,會報錯,而對象[‘屬性’]中又必須加’’,不合法命名除外,當屬性是純數字時,只能使用對象[‘屬性’],且不加’’也是可以的,即:對象[屬性]也是可以的)
合法的命名:以字母,數字,下划線命名,但是不能以數字開頭(可以以字母、下划線開頭)
由此可以看出,9a,a-6是命名不合法的,報錯!
但如果是純數字,他會自動轉化為字符串!!!
由此可見,上述中說道,屬性都是字符串類型,即屬性中:age 和 ‘age’ 是一樣的類型,都是字符串類型。
我們將不合法命名注釋掉。
=================================================================================
現在我們開始來測試一下屬性age1:
=================================================================================
這樣的寫法是不合規的!!!報錯!!!
所以,對象.屬性中,是不加’’的
=================================================================================
這樣寫的age1是變量,而這個變量未定義
=================================================================================
所以,對象[‘屬性’]必須加’’
=================================================================================
現在我們開始來測試一下屬性'age2':
=================================================================================
這樣的寫法是不合規的!!!報錯!!!
所以,即使屬性上加了’’,在使用對象.屬性的時候也是不加’’的
=================================================================================
================================================================================
所以,對象[‘屬性’]必須加’’
=================================================================================
現在我們開始來測試一下屬性name,來使剛剛的結論得以信服:
=================================================================================
不合法使用對象.屬性!!
所以,在使用對象.屬性的時候是不加’’的
=================================================================================
=================================================================================
所以,對象[‘屬性’]必須加’’
=================================================================================
現在我們開始來測試一下屬性98:
純數字的字符串不能使用對象.屬性的格式!
=================================================================================
不合法使用對象.屬性!
=================================================================================
為什么這兩個都不合法使用呢?!
因為純數字只能使用:對象[‘屬性’]這樣的形式
=================================================================================
=================================================================================
所以,當屬性是純數字時,對象[屬性]也是正確的
=================================================================================
9a的命名是不合法的,當加上’’時,便是可以的,因為當加上’’這個的時候,它便認定為9a就是字符串,、
現在我們來測試一下’9a’:
這樣的9a命名是不合法的!!!
=================================================================================
對象.屬性中,是不加’’的
=================================================================================
9a命名不合法,並且對象[‘屬性’]必須加’’
=================================================================================
所以,對象[‘屬性’]必須加’’
綜上:
1.命名合法時,無論age還是’age’形式,對象.屬性和對象[‘屬性’]的使用是一樣的:對象.屬性中屬性不能加’’,對象[‘屬性’]必須加’’。
2.命名不合法時,是純數字時,只能使用對象[‘屬性’],對象[屬性](屬性有無’’都可以)。
3.命名不合法時,不是純數字時,不加引號,直接報錯。
3.命名不合法時,不是純數字時,加引號,只能使用對象[‘屬性’]。
總之,命名要合法