gpt4 book ai didi

javascript - JavaScript 中 Array.apply 的第一个参数是什么?

转载 作者:行者123 更新时间:2023-11-30 12:06:47 25 4
gpt4 key购买 nike

an answer , @Tushar 建议使用如下语法。

Array.apply(null, Array(3).fill(10))
.map(function (item, index) {
return item + index;
});

我明白这里发生了什么,我很满意。但是,让我感到有点困扰的是,这个 null 值的参数似乎什么都不做。所以我离开并开始研究。据智慧on the web ,它是对this 的引用。现在,这让我不太清楚,尽管将 cucumber 、数组和对象放入其中,但据我所知,它并没有影响 jack 。事实上,我很好奇为什么以下内容不等价,更不用说就足够了。

Array(3).fill(10)
.map(function (item, index) {
return item + index;
});

此外,我读到一些关于 Cr an IE not accepting array-like objects 的内容,这告诉我的更少。此外,要验证文章的年代有点困难,因此很难评估其声明的有效性。我谈到了关于原型(prototype)构造器的讨论并放弃了,不确定我是否走在正确的道路上。

最佳答案

apply 的第一个参数仅在您使用使用 this 的函数时才重要。

运行以下代码片段应该会更清楚一些:

var o = {value: 1};

var fn = function(a) {
console.log(a + this.value);
}
value = "something else";

fn("an argument ");
fn.apply(o, [20]);

// the above prints:
// an argument something else
// 21

https://jsfiddle.net/f2zw8edd/

关于javascript - JavaScript 中 Array.apply 的第一个参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976609/

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