NodeJS .forEach未定义
我在[].forEach
中使用了[].forEach
。
(使用NodeJs v5.4.1)
让这个代码在一个函数中
function _buildUserQuestionsForDisplay(question,callback){ var res = {} ["is_open","created","deleted","_id"].forEach(function(v){ res[v] = question[v] }) ... ... }
抛出一个错误:
[ “IS_OPEN”, “创build”, “删除”, “_ ID”]。的forEach(函数(V){
TypeError:无法读取属性'forEach'的undefined
它工作,如果我改变代码
var arr = ["is_open","created","deleted","_id"]; arr.forEach(function(v){ res[v] = question[v] })
我已经在Chrome.console
上testing了相同的function,第一种方法Chrome.console
。
我知道这两个使用V8
JS引擎,这是一个错误,或者我失踪的Javascript规则?
谢谢!
如果在此行之后没有分号,则代码会中断:
var res = {}
为了最大限度地减less这些问题,一个好主意是如果你不使用棉绒,那就使用棉绒。 ESLint
和ESLint
都可以作为开发插件添加到你的代码编辑器中(我使用ESLint和SubmlimeText中的Airbnb样式表),也可以在提交代码之前使用Gulp或Grunt将其添加到工作stream中。
如果您select尽可能省略分号,我的build议是在任何以这些标记之一开头的语句中的开括号或方括号之前,或者以算术操作符标记“/”,“ +“或” – “,如果你碰巧写这样的陈述。 – 由Michaeljohn Clement 2010撰写的博客