gpt4 book ai didi

javascript - 为什么修改 `Array.prototype`不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:14:20 26 4
gpt4 key购买 nike

请引用- https://jsfiddle.net/53ranmn5/1

Array.prototype.method1 = function() {
console.log("method1 called");
}
[1,2,3,4].method1();

我得到以下错误,

TypeError: Cannot read property 'method1' of undefined

为什么会这样?我该如何解决这个问题?

最佳答案

你少了一个分号:

Array.prototype.method1 = function() {
console.log("method1 called");
}; // <--- Hi there!
[1,2,3,4].method1();

什么?

分号在 javascript 中是可选的,所以你写的代码等同于:

Array.prototype.method1 = function() { ... }[1,2,3,4].method1();
// after evaluating the comma operator:
Array.prototype.method1 = function() { ... }[4].method1();
// naturally, functions don't have a fourth index
undefined.method1();
// Error :(

小心你的分号!

一些阅读 Material :

关于javascript - 为什么修改 `Array.prototype`不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29826771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com