• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ʚ猫一ɞ
博客园    首页    新随笔    联系   管理    订阅  订阅
对象.属性和对象[‘属性’]的区别

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

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

 

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

 

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

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

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

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

 

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

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

 

 

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

 

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

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

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

 

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

 

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

 

 

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

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

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

 

 

 

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

 

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

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

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

 

 

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

 

 

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

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

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

 

 

 

 

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

 

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

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

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

 

 

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

 

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

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

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

 

 

 

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

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

 

不合法使用对象.属性!

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

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

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

 

 

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

 

 

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

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

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

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

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

 

 

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

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

 

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

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

 

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

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

 

 

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

综上:

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

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

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

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

 

总之,命名要合法

posted on 2020-09-29 22:24  ʚ猫一ɞ  阅读(1709)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3