我试图在测试环境(Mocha)中运行一个函数,并且当它被分配给一个变量时调用我的函数时遇到了问题(设置的测试执行变量赋值)。我确定在其他地方已经回答了这个问题,但我看到的每个例子都是异步函数,但事实并非如此。以下代码返回对象,但也未定义。我怀疑它是" undefined"阻止我的代码在测试套件中运行的输出。未定义来自何处,是来自return语句或console.log调用的正确输出?
var addTo = function(obj){
var object = {};
for(var i = 0; i<arguments.length; i++){
for(key in arguments[i]){
if(arguments[i].hasOwnProperty(key)){
object[key] = arguments[i][key];
}
}
}
return object;
}
var myObj = addTo({name: "John"}, {location: "space", age: 35});
console.log(myObj);
//returns:
//Object {name: "John", location: "space", age: 35}
//undefined
我知道没有必要在这里创建一个空对象,因为我可以添加到输入到函数中的第一个对象并在i = 1处启动for循环。只是尝试修复未定义的问题(这只是我认为的问题)。如果这是重复的,请将我链接到正确的帖子,因为我找不到它。
答案 0 :(得分:0)
控制台评估表达式并打印出来。由于console.log不返回任何内容,因此它显示为undefined。