在页面直接执行['name','age'].forEach(val => console.log(val))会报Cannot read property 'forEach' of undefined,但如果改成下面这样,就正常了,这是为什么?事关js解析机制?方法一,正常setTimeout(function(){ ['name','age'].forEach(val => console.log(val))},0)方法二,正常var arr = ['name','age'] ;arr.forEach(val => console.log(val))
1 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
我之前遇到这个情况的时候,是因为forEach的前面没写分号:
let i = 1
['a', 'b'].forEach(a => console.log(a))
你在前面不写分号的情况下,对于 js 来说它可能是这样执行的:
let i = 1['a', 'b'].forEach(a => console.log(a))
你可以用这个来验证一下:
let e = {'a': [1, 2, 3]}
['a'].forEach(a => console.log(a))
/**
* 1
* 2
* 3
*/
添加回答
举报
0/150
提交
取消