javascript 判断属性是否存在

判断一个实例是否存在某个属性的方法使用 "in"

var Student = {
    name: "Robot",
    height: 1.2,
    sex: "male",
    run: function(){
        console.log(this.name+" is running");
    }
};

function createStudent(name)
{
    var s = Object.create(Student);
    s.name = name;
    return s;
}

"in"判断是否存在实例属性中,无论是实例自己有的,或者继承而来的。

"name" in xiaoming; //true

"name" in Student; //true

"run" in xiaoming;//true

"run" in Student; //true

如果只是要判断是否实例自身拥有的,而不是继承而来的,要使用实例的hasOwnProperty()方法。

xiaoming.hasOwnProperty("name"); //true

xiaoming.hasOwnProperty("run"); //false

原文地址:https://www.cnblogs.com/qggg/p/8668312.html