gpt4 book ai didi

javascript - 数组构造函数 "new Array()"可以被恶意代码覆盖和替换,如何?

转载 作者:行者123 更新时间:2023-11-29 22:07:16 24 4
gpt4 key购买 nike

我们可以通过几种方式创建数组:

var myArray = new Array();

或者:

var myArray = [];

第二种方法比 new Array() 语法更安全,因为 Array 构造函数可以被覆盖并可能被恶意代码替换。

我在许多 JavaScript 书籍中看到过以上几行,但我不明白如何用恶意代码覆盖和替换 Array 构造函数?我正在寻找某人如何做到这一点的示例,以便我可以了解问题的实际情况。

最佳答案

上面代码的某处:

Array.prototype.forEach = function (e){
console.log("something wrong there");
return(e);
};

下面代码中的某处:

var i = [1,2,3,4,5];
i.forEach(function(e){
console.log(e);
});

输出:

>"something wrong there"

如您所见,如何初始化数组变量没有区别。 var i = []; 只是更短的符号。

关于javascript - 数组构造函数 "new Array()"可以被恶意代码覆盖和替换,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234580/

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