首页 新闻 会员 周边

javascript原型链的问题?

1
悬赏园豆:40 [已关闭问题] 关闭于 2016-04-03 18:06

最近在研究javascript,也看了一些讲原型链的博客。但总觉得不是全对,主要有如下几个问题。

我们将javascript定义为两种对象,一种是一般对象,一种是函数对象。现在存在如下几个问题:

1、prototype是属于函数对象还是一般对象?

2、prototype是引用还是个对象。

3、_proto_属性是在二者对象中都存在,还是只在一般对象中存在?

4、假如都存在,那么在函数对象和一般对象中的关系是怎么样的?

求大神回答。

LiloT的主页 LiloT | 初学一级 | 园豆:6
提问于:2015-09-11 10:51
< >
分享
所有回答(3)
0

1, 一般对象

2,引用,javascript的对象都是引用

3,都存在

4,问题很奇怪

我觉得楼主可能没理解函数的prototype属性和隐藏的Function.prototype的关系,那两个是不同的东西

javascript,the good parts里面这么写的, 我觉得你理解了这个就应该没什么疑问了。

Every function object is also created with a prototype property. Its value is an object
with a constructor property whose value is the function. This is distinct from the
hidden link to Function.prototype. The meaning of this convoluted construction will
be revealed in the next chapter.

hsdtt | 园豆:293 (菜鸟二级) | 2015-09-11 11:10

prototype存在于函数对象中吧,而且在函数对象中存在指向这个对象的引用吧?

支持(0) 反对(0) LiloT | 园豆:6 (初学一级) | 2015-09-11 11:32

@LiloT: 那段英文你理解了吗,一个是prototype属性,是当函数用作构造函数的时候,这个prototype就变成了新创建对象的prototype,另外一个是函数对象本身的prototype,它定义了一些函数的,比如call和apply,就是函数对象本身的原型的方法。

支持(1) 反对(0) hsdtt | 园豆:293 (菜鸟二级) | 2015-09-11 11:38
1

 

结构大概是这样的。

大贱豪 | 园豆:127 (初学一级) | 2015-09-16 09:54
0

javascript高级程序设计(简称红宝书),解决任何js底层问题

孟星魂 | 园豆:208 (菜鸟二级) | 2015-12-10 20:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册