javascript - 为什么在构造函数里面定义的方法--报错
本文介绍了javascript - 为什么在构造函数里面定义的方法--报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function MyString(str) {
var newStr = [];
for(var count in str) {
newStr[count] = str[count];
count++;
};
this.length = count;
return newStr;
}
MyString.prototype.abc=function(){
console.log("123")
}
var s = new MyString("hello");
s.abc();
浏览器报错 :demo2.html:27 Uncaught TypeError: s.abc is not a function(…)
解决方案
建议复习一下构造函数
你最后
return newStr
所以你s得到的不是构造函数MyString的实例对象,而是newStr这个数组
这篇关于javascript - 为什么在构造函数里面定义的方法--报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文