为了账号安全,请及时绑定邮箱和手机立即绑定

js 数组方法执行问题

js 数组方法执行问题

撒科打诨 2019-03-07 18:31:51
在页面直接执行['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

*/


查看完整回答
反对 回复 2019-03-09
  • 1 回答
  • 0 关注
  • 296 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信