全面了解全面了解JavaScript对象进阶对象进阶
下面小编就为大家带来一篇全面了解JavaScript对象进阶。小编觉得挺不错的,现在就分享给大家,也给大家做
个参考。一起跟随小编过来看看吧
要了解JavaScript对象,我们可以从对象创建、属性操作、对象方法这几个方面入手。概括起来,包括以下几模块:
1.创建对象创建对象
1.1 对象直接量对象直接量
对象直接量是创建对象最简单的方式,由若干名/值对组成映射表:
var point = {x: 0, y: 0 };
属性名也没有什么限制,可以是js的关键字或者任意字符串,如果是这两种情况,属性需要用双引号引起来:
var empty = {};
va point = {x: 0, y: 0 };
var book = {
"main title": "Javascript",
"sub-title": "The definitive Guide",
"for": "all audience",
author: {
firstName: "Davide",
lastName: "Flanagan"
}
};
对象直接量创建对象十分简单,但一般都不会这样使用。代码可复用性低,如果想要在其他地方使用该对象并且属性值不一
样,那这么办?是不是又得重新创建一份代码?
1.2 通过通过new创建对象创建对象
通过new创建对象之前,先要创建一个函数,new把这个函数当做构造函数(constructor)。例如通过new创建一个Person对
象:
function Person(){
//构造函数
}
var person = new Person();
Javscript语言核心中的原始类型都包含内置构造函数:
var a = new Array();
var d = new Date();
var r = new RegExp(“js”);
1.3 Object.create()
在了解Object的create方法之前,我们想看看什么是原型。每一个Javascript对象(null除外)都和另一个对象相关联。“另一
个”对象就是我们所说的原型。每一个对象都从原型继承属性。
所有通过对象直接量创建的对象都具有同一个原型对象Object.prototype。关键字new和构造函数创建的对象原型就是构造函
数的prototype属性的值。通过new Array()创建对象的原型为Array.prototype,通过new Date()创建的对象原型为
Date.prototype。原型暂介绍到这里。
Object.create方法包含两个参数,第一个参数是对象的原型,第二个参数可选,用于描述对象属性。使用很简单,只需传入所
需的原型对象即可:
var o1 = Object.create({x: 1, y: 2 }); //原型为Object.prototype
如果想创建一个没有原型的对象,可通过传入null作为参数。这样创建的对象不会继承任何属性,也没有像toString这样的方
法:
var o2 = Object.create(null); //没有原型
如果想创建一个普通的空对象,直接传入Object.prototype:
var o3 = Object.create(Object.prototype);
如果是自定义的对象,和创建空对象一样。直接传入对象名.prototype: