课程
/前端开发
/JavaScript
/JavaScript深入浅出
如题,为什么Foo.hasOwnProperty('x')和Foo.__proto__.hasOwnProperty('x')的结果都是false?
2015-02-11
源自:JavaScript深入浅出 2-2
正在回答
x应该在Foo.prototype上,
所以Foo.prototype.hasOwnProperty('x')才返回false
而Foo是函数对象,Foo.__proto__其实是Function.prototype,这两个对象上当然木有x属性咯~~~
再仔细看看原型链,看不懂也没关系,OOP章节我还会再次提到原型链,并且会更加展开的讲解。
有问题再开新帖回复哟~~~慕课网被回复似乎看不到。。。(摔~)
宇宙无敌626 提问者
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
2 回答foo.__proto__和foo.prototype.__proto__的区别
2 回答关于obj._proto_.hasOwnProperty('x')//true
2 回答var obj={x:1}之后var obj=new foo(); 那obj之前的x属性不是没有了吗??
4 回答[]==[] 结果输出“false”
4 回答!function(){'use strict'; var obj={x:1,x:2};console.log(obj.x)}() 没有报错