1,介绍
引用类型,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当,它并不具备传统的面向对象语言所支持的类和接口等基本结构。
- 对象是某个特定引用类型的实例。
- ECMAScript提供了很多原生引用类型,以便开发人员用以常见的计算任务。
2,创建方式
注:下以Object类型为例。
Object类型是ECMAScript中使用最多的一个类型,在应用程序中存储和传输数据而言,是理想的选择。
创建Object类型实例的方式有两种。
使用new操作符后跟Object构造函数.
var person = new Object(); person.name = “Nicholas”; person.age = 29;
使用对象字面量表示法,对象字面量是对象定义的一种简写形式.
代码示例:
var person = { name : “Nicholas”, age : 29 };
属性名也可以使用字符串。如下所示,这里的数值属性名会自动转化为字符串。
var person = { “name” : “Nicholas”, “age” : 29, 5 : true };
另外,如果留空其花括号,则可以定义只包含默认属性和方法的对象。
var person = {}; // 与new Object()相同 person.name = “Nicholas”; person.age = 29;
- 对象字面量也是向函数传递大量可选参数的首选方式,最好的做法,使用对象字面量来封装多个可选参数,对那些必须值使用命令参数。
- 使用对象字面量也是向函数传递可选参数时,在函数内部使用typeof操作符来检测每个属性是否存在。代码示例参看《JavaScript高级程序设计》p85。
- 通过字面量定义对象时,不会调用Object构造函数。
3,访问属性的方式
- 点表示法
方括号表示法
代码示例,将访问的属性以字符串形式放在方括号中。
alert(person[“name”]); // 等价于 alert(person.name);
可以通过变量来访问属性,例:
var propertyName = “name”; alert(person[“propertyName”]); // 等价于alert(person.name);
若属性名中包含导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括号表示法,例子如下,“first name”包含一个空格,不能使用点表示法来访问,然而可用方括号表示法,还可以包含非字母非数字。
person[“first name”] = “Nicholas”;