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

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

 

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

 

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

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

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

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

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

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

 

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

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

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

 

 

 

 

 

 

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

 

 

 

 

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

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

 

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

 

 

 

 

 

 

 

 

 

 

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

 

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

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

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

 

 

 

 

 

 

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

 

 

 

 

 

 

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

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

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

 

 

 

 

 

 

 

 

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

 

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

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

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

 

 

 

 

 

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

 

 

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

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

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

 

 

 

 

 

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

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

 

不合法使用对象.属性!

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

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

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

 

 

 

 

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

 

 

 

 

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

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

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

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

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

 

 

 

 

 

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

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

 

 

 

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

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

 

 

 

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

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

 

 

 

 

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

综上:

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

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

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

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

 

总之,命名要合法

版权声明:本文为maoyi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/maoyi/p/13752238.html