Javascript 对象总结:
JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删。
JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。
JavaScript对象除了可以保持自有的属性外,还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。这种“原型式集成”是JavaScript的的核心特征。
创建对象
- 对象直接量表示法
这是最简单的对象创建方式,对象直接量由若干key:value键值对属性组成,属性之间用逗号分隔,整个对象用花括号括起来。
var empty = { };//不包含任何属性的对象
var point = {x:3,y:5};//包含两个属性的对象
var point2 = {x:point.x+1,y:point.y+1};//属性值可以是表达式
var book = {
"main title": "JavaScript", //属性名有空格,必须用字符串表示
"sub-title": "The Star", //属性名有连字符,必须用字符串表示
"for": "people", //属性名是保留字,必须用字符串表示
author: { //这个属性的值是一个对象
firstname: "Kimi",
surname: "Smith"
}
ECMAScript 5版本中,使用保留字属性名可以不用引号引起来。
- 通过关键字创建对象
关键字new用来创建并初始化对象,后面跟一个构造函数。JavaScript语言核心中原始类型都包含内置构造函数,
内置对象创建例子:
var o = new Object(); //创建一个空对象,等价于 0={}
var a = new Array(); //创建一个空数组
var d = new Date(); //创建一个代表当前时间的Date对象
var r = new RegExp("js"); //创建一个正则表达式对象
- 适用Object.create()函数创建对象
Object.create()方法创建一个拥有指定原型和若干个指定属性的对象。
Object.create(Object[,Properties])
是ECMAScript 5版本出现的一个静态函数,用来创建对象。它接收两个参数:第一个是要创建对象的原型proto;第二个是可选参数,用来描述对象属性。
var obj1 = Object.create({
x: 1,
y: 2
}); //对象obj1继承了属性x和y
var obj2 = Object.create(null); //对象obj2没有原型
如果 proto
参数不是 null
或一个对象值,则抛出一个 TypeError 异常。通过原型创建对象,可以使任意对象可继承。程序不直接操作对象,而是操作通过Object.create()创建的继承对象。
网友评论