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

js 的function为什么可以添加属性

js 的function为什么可以添加属性

哆啦的时光机 2019-02-19 17:17:34
今天在撸代码的时候遇见个问题。就是下面的写法有什么区别?(1)function person(){    this.name = 'Tom';}(2)function person(){}person.name = 'Tom';(3)function person(){}person.prototype.name = 'Tom'这3种写法有什么区别?尤其是第二种写法为什么可以直接写person.name。person是函数。为什么可以像对象一样添加属性?我应该看什么资料恶补这方面的知识?前端小白。各位大神指点下。万分感谢。
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

因为Js里面函数也是对象。

函数其实也有另一个写法就是

a = new Function("return 1");

https://img1.sycdn.imooc.com//5c7358980001fc9d06380276.jpg

函数也是new出来的,所以函数其实也是一个对象。所以对象可以添加属性。

相关知识可以看一下,这一个系列看完应该会有不小的收获,还可以去关注一下new的实际操作。

深入理解javascript原型和闭包(2)——函数和对象的关系


查看完整回答
反对 回复 2019-02-25
  • 2 回答
  • 0 关注
  • 1250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号