gpt4 book ai didi

JavaScript 函数默认参数 - 奇怪的行为

转载 作者:行者123 更新时间:2023-11-29 19:09:11 25 4
gpt4 key购买 nike

这是我最近看到的最奇怪的事情之一......

我一直在玩 JavaScript 默认参数,很想知道它们是否已在考虑函数执行上下文的情况下得到解析。

我准备了这个简单的测试:

var o = {
a: 42,
fn(b = this.a) {
console.log(b);
}
};

o.fn();

如您所见,我最初的问题的答案是肯定的。

如果您将代码片段复制并粘贴到开发工具中,您将获得相同的结果……除非您在访问 twitter.com 时打开了开发工具;在这种情况下,结果是 undefined

如果宿主对象是一个数组,我也会遇到同样的行为

var arr = [
42,
function fn(b = this[0]) {
console.log(b);
}
];

arr[1]()

您知道为什么会发生这种情况吗?

最佳答案

Twitter 覆盖了 console.log 函数。

关于JavaScript 函数默认参数 - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451074/

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