in 和 hasOwnProperty

in 和 hasOwnProperty

in操作符会检查属性是否存在于对象 中,或者是否存在于[[Prototype]]链对象遍历的更高层中。 相比之下,hasOwnProperty(..) 仅仅 检查myObject是否拥有属性,但 不会 查询[[Prototype]]链

var myObject = {
    a: 2
};

("a" in myObject);                // true
("b" in myObject);                // false

myObject.hasOwnProperty( "a" );    // true
myObject.hasOwnProperty( "b" );    // false
JSRUN notes