问几个有关原型的问题

kstg4703904 2017-02-14 01:36:49
1.[[prototype]]这个属性在内部是一定存在的,而__proto__则是浏览器加上去的,[[prototype]]和__proto__存储的是同一个指针,这个指针指向一个原型对象。

以上这种说法对吗?[[prototype]]这个属性在内存中,[[]]这个符号也存储在内存中的吗?

2.所有函数都是由Function作为构造函数构造出来的实例?如果是,那么Function是自己把自己创建出来?

3.除了null和Object,其它所有的原型对象都是由Object作为构造函数构造出来的实例?

4.原型对象是函数对象吗?如果不是,那么是什么类型的对象?
...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kstg4703904 2017-02-19
  • 打赏
  • 举报
回复
引用 5 楼 bbboy8205 的回复:
无须解释, 知道用就好 var a = {} 和 var a = new Object() 是一样的。 不用理解是什么自己创建了自己, 它就是一个对象而已, 只要创建了这个对象就会有 __proto__, 这个是对象的原型链, 不需要了解。 创建了对象, 就可以用 prototype 来扩展对象的属性, 为了方便用户操作对象 a.prototype.newObj = {a: "112"} console.log(a.prototype.newObj.a) // 112
prototype这个属性不是函数对象才有的吗?a不是函数对象吧?
风中的少年 2017-02-18
  • 打赏
  • 举报
回复
无须解释, 知道用就好 var a = {} 和 var a = new Object() 是一样的。 不用理解是什么自己创建了自己, 它就是一个对象而已, 只要创建了这个对象就会有 __proto__, 这个是对象的原型链, 不需要了解。 创建了对象, 就可以用 prototype 来扩展对象的属性, 为了方便用户操作对象 a.prototype.newObj = {a: "112"} console.log(a.prototype.newObj.a) // 112
kstg4703904 2017-02-18
  • 打赏
  • 举报
回复
没人吗,就解答啊。
kstg4703904 2017-02-16
  • 打赏
  • 举报
回复
没人吗,就解答啊。
文修 2017-02-14
  • 打赏
  • 举报
回复
楼主你好, prototype 和 __proto__的关系其实很简单,只是解释起来有点拗口, 下面的文章能够很好的解决楼主的疑问 http://rockyuse.iteye.com/blog/1426510
kstg4703904 2017-02-14
  • 打赏
  • 举报
回复
引用 1 楼 congya001 的回复:
楼主你好, prototype 和 __proto__的关系其实很简单,只是解释起来有点拗口, 下面的文章能够很好的解决楼主的疑问 http://rockyuse.iteye.com/blog/1426510
这篇文章只解决我的第一个问题,剩下的问题能回答一下吗?

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧