对象的方法

63 阅读1分钟

创建对象

1. 利用对象字面量

定义并创造一个对象

var obj = {}

2. 利用new 关键字

var person = new Object()

3. Object.create()函数创造对象

创建一个新对象,使用现有的对象来提供新创建的对象的__proto__(以第⼀个参 数作为新对象的构造函数的原型对象);⽅法还有第⼆个可选参数,是添加到新创建对象的属性;

4. 定义一个构造器,然后实例化

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");

区别

new 产⽣的实例,优先获取构造函数上的属性;构造函数上没有对应的属性,才会去原型上查找;
如果构造函数中以及原型中都没有对应的属性,就会报错;Object.create() 产⽣的对象,只会在原型上进⾏查找属性,原型上没有对应的属性,就会报错。

访问对象属性

1. 以 . 的方式访问

2. 以 [ ] 形式访问

遍历对象的方法

1. for in: 循环遍历对象自身的和继承的可枚举属性

2. Object.keys(obj): 可以将对象里的所以的键取出来放到一个数组中,返回的是所有可枚举属性

3. Object.values(obj): 可以将对象里的所以的值取出来放到一个数组中

4. Object.getOwnPropertyNames(obj): 返回的是对象所有自己的属性

var obj = {'0':'a','1':'b','2':'c'};

Object.getOwnPropertyNames(obj).forEach(function(key){ console.log(key,obj[key]); });