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

js不是随便一个对象就可以使用prototype吗?

js不是随便一个对象就可以使用prototype吗?

慕妹3242003 2019-02-28 14:31:55
比如var a = [1,2,3];a.prototype.b = function(){console.log(this)};a.b();这样写为什么是错的呢?
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

函数(正常来说是构造函数)才有prototype


查看完整回答
反对 回复 2019-03-04
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

prototype是构造函数的属性,它指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。


你这里的a是实例而不是构造函数,要搞清楚面向对象这几个概念,看一下正确的写法,或许你就明白了


Array.prototype.b = function(){ console.log(this) }

var a = new Array(1,2,3) //或 var a = [1,2,3]

a.b() // [1,2,3]

建议看一下面向对象的相关知识


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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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