gpt4 book ai didi

JavaScript:为什么 .forEach 不起作用?

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

这是一小段代码:

window.addEventListener('load', function() {
['echo'].forEach(function(entity) {
console.log('loaded entity=' + entity)
})
})

console.log(['echo'])
console.log(['echo'].forEach)
['echo'].forEach(function(entity) {
console.log('entity=' + entity)
})

输出看起来像这样:

["echo"]
function forEach() { [native code] }
Uncaught TypeError: Cannot read property 'echo' of undefined
loaded entity=echo

为什么会出现这个错误?我假设 undefined.forEach 中的 this。为什么在调用 .forEach 时没有通过?

最佳答案

分号!

window.addEventListener('load', function() {
['echo'].forEach(function(entity) {
console.log('loaded entity=' + entity);
})
});

console.log(['echo']);
console.log(['echo'].forEach);
['echo'].forEach(function(entity) {
console.log('entity=' + entity);
});

问题出在这里:

console.log(['echo'].forEach)
['echo'].forEach(function(entity) {

换行符被忽略,因为它被解析为:

console.log(['echo'].forEach)['echo'].forEach(function(entity) {

console.log() 返回 undefinedundefined['echo'] 引发异常。

所以使用分号并且开心。或者不要和受苦。

关于JavaScript:为什么 .forEach 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863198/

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