原型链问题, 问题在最后一行
//定义方法
function foo(){}
//原型链赋值
foo.prototype.z = 3
//定义一个新的对象
var obj=new foo()
obj.a // 返回undefined
obj.z // 返回3
obj.hasOwnProperty('z') //返回false
foo.hasOwnProperty('z') //返回false ????问题就在这, 这不是应该返回true么?
运行图如下:
原型链问题, 问题在最后一行
//定义方法
function foo(){}
//原型链赋值
foo.prototype.z = 3
//定义一个新的对象
var obj=new foo()
obj.a // 返回undefined
obj.z // 返回3
obj.hasOwnProperty('z') //返回false
foo.hasOwnProperty('z') //返回false ????问题就在这, 这不是应该返回true么?
运行图如下:
https://developer.mozilla.org...
所有继承了 Object 的对象都会继承到 hasOwnProperty 方法。这个方法可以用来检测一个对象是否含有特定的自身属性;和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
z
是foo.prototype
的属性,不是foo
的属性。foo
不是foo.prototype
。