对象.属性和对象[‘属性’]的区别


对象.属性和对象[属性’]这两个用法的意义其实是一样的,都是用来调用对象的属性

其中,属性都是字符串类型的,即使是纯数字,也会转化为字符串类型,但是当对象的属性的命名不合法时,就会报错!即使在他上面加了’’不会报错,也不能使用对象.属性的方式来获取属性的值(对象.属性中,这里的属性是不加’’,也就是不能使用对象.’属性这样的表达,是不合规的,会报错,而对象[‘属性’]中又必须加’’,不合法命名除外,当属性是纯数字时,只能使用对象[‘属性’]且不加’’也是可以的,即:对象[属性]也是可以的)

 

合法的命名:以字母,数字,下划线命名,但是不能以数字开头(可以以字母、下划线开头)

 

由此可以看出,9aa-6是命名不合法的,报错!

但如果是纯数字,他会自动转化为字符串!!!

由此可见,上述中说道,属性都是字符串类型,即属性中:age ‘age’ 是一样的类型,都是字符串类型。

我们将不合法命名注释掉。

 

  =================================================================================

现在我们开始来测试一下属性age1

 

 

 =================================================================================

 

这样的写法是不合规的!!!报错!!!

所以,对象.属性中,是不加’’

 =================================================================================

 

这样写的age1是变量,而这个变量未定义

 

=================================================================================

 

 

所以,对象[‘属性’]必须加’’

=================================================================================

现在我们开始来测试一下属性'age2'

 

 

 

 =================================================================================

 

这样的写法是不合规的!!!报错!!!

所以,即使属性上加了’’在使用对象.属性的时候也是不加’’

=================================================================================

 

 

================================================================================

 

 

 所以对象[‘属性’]必须加’’

 =================================================================================

现在我们开始来测试一下属性name,来使刚刚的结论得以信服:

 

 

 

 

 =================================================================================

 

不合法使用对象.属性!!

所以,在使用对象.属性的时候是不加’’

 =================================================================================

 

 

=================================================================================

 

所以,对象[‘属性’]必须加’’

 =================================================================================

现在我们开始来测试一下属性98

 

 

 

纯数字的字符串不能使用对象.属性的格式!

 =================================================================================

 

不合法使用对象.属性!

=================================================================================

为什么这两个都不合法使用呢?!

因为纯数字只能使用:对象[‘属性’]这样的形式

 

 

 =================================================================================

 

 

 =================================================================================

 所以,当属性是纯数字时,对象[属性]也是正确的

  =================================================================================

9a的命名是不合法的,当加上’’时,便是可以的,因为当加上’’这个的时候,它便认定为9a就是字符串,、

现在我们来测试一下’9a’

 

 

这样的9a命名是不合法的!!!

=================================================================================

 

 对象.属性中,是不加’’

 =================================================================================

 

 9a命名不合法,并且对象[‘属性’]必须加’’

 =================================================================================

 

 

所以,对象[‘属性’]必须加’’

综上:

1.命名合法时,无论age还是’age’形式,对象.属性和对象[属性’]的使用是一样的:对象.属性中属性不能加’’对象[‘属性’]必须加’’

2.命名不合法时,是纯数字时,只能使用对象[‘属性’]对象[属性]属性有无’’都可以)。

3.命名不合法时,不是纯数字时,不加引号,直接报错。

3.命名不合法时,不是纯数字时,加引号,只能使用对象[‘属性’]

 

总之,命名要合法


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM