关于原型链问题,望高手解答

发布于 2022-09-11 22:24:46 字数 346 浏览 19 评论 0

原型链问题, 问题在最后一行

//定义方法
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么?

运行图如下:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱情眠于流年 2022-09-18 22:24:46

zfoo.prototype 的属性,不是 foo 的属性。

foo 不是 foo.prototype

夏雨凉 2022-09-18 22:24:46

https://developer.mozilla.org...

所有继承了 Object 的对象都会继承到 hasOwnProperty 方法。这个方法可以用来检测一个对象是否含有特定的自身属性;和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。
GRAY°灰色天空 2022-09-18 22:24:46

并没有毛病啊,本来就是false,你在用hasOwnProperty有没有了解过这个函数是什么意思,为什么要是true呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文