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

比如
var a = [1,2,3];
a.prototype.b = function(){console.log(this)};
a.b();
这样写为什么是错的呢?

慕妹3242003
浏览 902回答 2
2回答

MMMHUHU

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

吃鸡游戏

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]建议看一下面向对象的相关知识
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript