前面的文章中我们知道JS中的值分为两种类型
基础类型的值和引用类型的值
基础类型的值我已经大概介绍了一下,今天开始后面几天我会为大家介绍一下引用类型的值
Object类型
对象是引用类型的值的实例,在ECMA中引用类型是一种数据结构
用于将数据和功能组织到一起,在其它编程语言中通常也被称为类
但是与其他语言中的类不一致,JS中并没有在其他面向对象的编程语言中与类相关的接口
引用类型通常也被称为对象定义,因为其描述的是一类对象所具有的属性和方法
JS为我们提供了许多原始的引用类型
今天就介绍这些原始引用类型中的Object类型
在ES(ECMAScript)6之前我们看到的大多数引用类型的值都是Object的实例
虽然Object类型并不具备多少功能,但是对于在应用程序中存储和传输数据确实是非常理想的选择
创建Ojebct实例方法:
1. 使用new操作符
var person = new Object(); person.age = 21; person.name = 'lhy';
2.使用对象字面量
var person = { age:21, name:'lhy' }
上面两段代码是等效的
在字面量的声明方式中,左花括号{ 表示对象字面量的开始
因为处于等号的右边,所以 { 处于表达式上下文中
表达式上下文中 { 表示一个表达式的开始,而位于一般的语句上下文中 { 表示代码块的开始
PS. 在早期的浏览器中,最后一个属性后面带逗号会报错
还有一点比较重要的是:字面量的创建方法最好只在需要考虑对象可读性的情况下使用,虽然字面量和new的方法是等效的,但是字面量创建对象时并不会调用Object()构造函数
基于以上描述,字面量由于其代码量少、给人封装数据的感觉,所以是我们给函数传递大量可选参数的首选方式
所以对函数的参数设计时,推荐将必须参数设为命名的变量,使用对象字面量来封装可选参数
访问对象
关于对象的访问有两种方式:
1. ‘.’操作符
2.中括号
从功能上来说两者没有区别,但是方括号可以通过变量来访问属性
所以对于 属性中包含导致语法错误的字符、需要通过变量访问等情形 可以使用方括号之外
其他的情况都不推荐使用中括号来访问对象