我定义了Array的原型函数,但是在调用它时给了我一个错误。
Array.prototype.bublleSort = function() {
console.log(this)
}
[1, 23, 4].bublleSort()
控制台显示“未捕获的TypeError:无法读取未定义的属性'bublleSort'”。哪里有错?
最佳答案
您忘记了分号,因此解释器将您的代码视为:
Array.prototype.bublleSort = function() {
console.log(this)
}[1, 23, 4].bublleSort()
它在方括号内使用逗号运算符,但函数没有
4
这样的属性:Array.prototype.bublleSort = function() {
console.log(this)
}[4].bublleSort()
简化为
<someFunction>[4].bublleSort()
但是函数没有
4
属性。始终在语句的末尾放置分号-依靠自动分号插入不是很好,忘记和遇到错误太容易了。
Array.prototype.bublleSort = function() {
console.log(this)
};
[1, 23, 4].bublleSort()
关于javascript - 我定义了Array的原型(prototype)函数,但是当我调用它时给了我一个错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54994355/