gpt4 book ai didi

javascript - 覆盖 Array 构造函数不会影响 [],对吗?

转载 作者:可可西里 更新时间:2023-11-01 01:50:25 24 4
gpt4 key购买 nike

我刚读到: http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx

我的印象是,覆盖 ObjectArray 只有在您选择使用时才有效创建arrays/objects时构造函数起作用,但是,根据那篇文章,它也对文字创建({}[])...

我的逻辑:

Array = function(){ alert('Hi'); };

[1,2,3,4,5];
([1,2,3,4,5]);
var a = [1,2,3,4,5];

// ...
// ... Nothing is alerted

那么,我是疯了还是有一些我不知道的特定于实现的怪癖?

最佳答案

据我所知,这是 ECMAScript 规范的一个问题,并且在一年多前已在所有主流浏览器中得到修复。 Here是将您链接到最相关链接的链接;)

但要真正回答您的问题,是的,ObjectArray 构造函数也被调用用于文字创建。实现的修复浏览器只是使这些(和其他)保持不变,因此它们不能被自定义脚本覆盖。

关于javascript - 覆盖 Array 构造函数不会影响 [],对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1053556/

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