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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

不合法使用对象.属性!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

综上:

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

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

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

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

总之,命名要合法

对象.属性和对象[‘属性’]的区别相关推荐

  1. 事件参数对象下的几个属性 mouseenter与mouseover的区别

    事件参数对象下的几个属性 <!DOCTYPE html> <html lang="en"> <head><meta charset=&qu ...

  2. JS获取对象属性的各种方式和区别(自身/原型属性、可枚举/不可枚举)

    对象的属性有自身属性和原型属性之分,自身属性是对象自己的属性,原型属性是存在于原型链上的属性. 可以用Object.prototype.hasOwnProperty()判断是自身属性还是原型属性.(i ...

  3. Python的类属性与对象属性的区别

    Python的类属性与对象属性的区别 命名规则: 1.1 类属性由类创建,命名规则为类名.属性名 1.2 对象属性由对象创建,命名规则为对象名.属性名 调用方法: 2.1 类属性由类调用 2.2 对象 ...

  4. python中实例和对象的区别_通过Python中对象实例的属性比较对象实例是否相等

    慕容708150 您应该实现该方法__eq__:class MyClass:    def __init__(self, foo, bar):        self.foo = foo        ...

  5. python 类属性和对象属性--定义和作用域

    类属性和对象属性定义 Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的管理方案. 对象的属性可能来自于其类定义,叫做类属性(cla ...

  6. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  7. 判断JavaScript对象为null或者属性为空

    http://blog.csdn.net/yiluoak_47/article/details/7766760 首先说下null与undefined区别: 对已声明但未初始化的和未声明的变量执行typ ...

  8. python如何对一个属性或方法进行封装_python 类、对象、方法、属性

    在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...

  9. jQuery概述、优点、使用步骤、入口函数、jQuery对象和DOM对象之间的转换、层级选择器、属性选择器、筛选选择器、节点选择器

    jQuery简介: jQuery是一个高效.精简并且功能丰富的javascript库,它提供的API简单易学,且兼容众多浏览器,极大地简化了javascript代码开发,包含内容:HTML 元素选取. ...

最新文章

  1. 2018-2019-1 20165318《信息安全系统设计基础》第八周课上测试
  2. 剑指offer(Java实现) 求1+2+3+…+n
  3. javaScript学习之路(1)词法结构
  4. Flash开发iOS应用全攻略(四)——如何为iTunes Connect准备应用
  5. 从零开始--系统深入学习IOS(使用Swift---带链接)
  6. Java程序开发过程
  7. 联想笔记本键盘亮屏幕不亮_联想笔记本电脑开机键亮但是黑屏?键盘没反应?
  8. 语言技能c1,从0开始学法语,20个月考下DALF C1,我如何立竿见影学语言?
  9. 11个超实用的创意设计思维训练方法
  10. 自定义Exception类
  11. 计算机对人类未来的影响,讲讲人工智能对人类社会的影响及对人类未来的发展...
  12. 除去发票中的红色印章(C++,Open CV 4)
  13. JAVAWeb开发:Tomcat出现The origin server did not find a current representation for the target reso...的问题
  14. 关于scanf函数返回值被忽略的解决方法
  15. backurl: heytapbrowser://main/iflow?sub_target=only_enter_iflow
  16. 学习企业管理最有效的方法就是看这管理类书籍!
  17. C语言程序设计第二次作业
  18. 网络安全:大数据问题
  19. 伯克利和Deepmind前赴后继,只为教出一个会做家务的机器人?
  20. Decimal.quantize

热门文章

  1. 一个简单的手机蓝牙聊天程序的源码
  2. mysql中unsigned怎么用_mysql 数据库unsigned的用法
  3. 那些让你忍不住推荐的逆天冷门APP??
  4. TomcatServlet快速入门
  5. html代码input,HTML oninput用法及代码示例
  6. Central Similarity Quantization for Efficient Image and Video Retrieval
  7. 基于Docker搭建hdfs分布式实验环境
  8. C/C++锁以及安全锁
  9. 服务器硬防和软防是什么?服务器软件防火墙 103.60.167 .x
  10. 09虚幻4【UE4】中模型沿着轨道运动