js对象中in和hasOwnProperty区别

Object.prototype.hasOwnProperty()

hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键,不包含继承属性

var target = {
	name: 'jim',
	age: 32
}
target.hasOwnProperty('name') // true
target.hasOwnProperty('toString') // false

in

如果指定的属性在指定的对象或其原型链中,则in 运算符返回true。

var target = {
	name: 'jim',
	age: 32
}
'name' in target // true
'toString' in target // true

对象自身属性与原型链中属性对照

对象自身属性与原型链中属性对照


版权声明:本文为qq_34648151原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。