为了账号安全,请及时绑定邮箱和手机立即绑定

javaScirpt中先有函数还是对象

javaScirpt中先有函数还是对象

不负相思意 2018-08-07 10:10:20
js中函数也是对象,但是对象也是函数构造出来的?那么问题来了,js中先有对象还是函数呢?
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

谁说对象都是函数构造出来的?

所有对象都不是函数构造出来的!

对象是由JavaScript运行时环境以原型对象为模板,直接产生出来的。构造函数只是以新生的对象为this,做一些初始化操作。

所以,不要以为var p = new Person()说明了p是由Person产生的,其实是由Person.prototype产生的。

至于先有函数还是先有对象,这不是个问题。因为那些最基本的内置对象,肯定是由JavaScript运行时环境直接生成的,不适用通常的对象产生规则。比如Object.prototype、Object、Function.prototype等,它们的产生没有先后顺序。有了这些基本对象后,就可以按照JS的规则产生其他对象了。

个人观点,仅供参考。要想知道真实情况,还是去读一下V8源码吧。


查看完整回答
反对 回复 2018-09-26
  • 1 回答
  • 0 关注
  • 679 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信