JavaScript中for in 和 Object.keys的应用

for In的使用:

  for in 这种循环一般是用来遍历对象的,它可以循环出对象的属性,其中包括原型中的属性。如果仅想遍历自身的属性,可以使用hasOwnProperty方法来判断。

另外obj1定义如下:我是创建了一个字面量对象obj1,然后将obj1的原型指针让它指向函数Book,Book函数的原型中包含一个属性price。这样做的目的是测试Object实例的对象如何改变它的原型指针,使它指向一个新的原型。从而继承新原型的属性和方法。当然你可以简单点。

var obj1 = {
    title : 'tom and jetty',
    author : 'pecool'
}
function Book(){}
Book.prototype.price = 23;
obj1.__proto__ = Book.prototype;
for(let item in obj1){
    if(obj1.hasOwnProperty(item)){
        console.log('selfProperty:'+item)
    }else{
        console.log('__proto__Property:'+item)
    }
}
    selfProperty:title     //执行结果
    selfProperty:author    //执行结果
    __proto__Property:price    //执行结果

Object.keys()方法的使用:

Object.keys(obj1)
["title", "author"]

猜你喜欢

转载自www.cnblogs.com/pecool/p/11703102.html
今日推荐