我是JavaScript语言的新手,最近开始研究JS原型,并对下面代码中的一些奇怪输出感到困惑:
Array.prototype.print = function() {
console.log(this)
}
[1, 2, 3, 4].print();
有人能告诉我为什么会返回
'Cannot read property 'print' of undefined'
如果我声明 var array = [1, 2, 3, 4]
,然后通过 array.print()
调用 print 函数,它可以正常工作,所以我很困惑这两者有什么不同?
Array.prototype.print = function() {
console.log(this)
}
var array = [1, 2, 3, 4]
array.print()