[英]Why does console.log returns correctly but my function returns undefined?
[英]Why console.log function returns undefined?
function stringifyObj(parmObj){ s=""; Object.getOwnPropertyNames(parmObj).forEach ( function (val, idx, array) { s+=val + ' -> ' + parmObj[val]+"\\n"; } ) return s; } var arrayOfObjects = [ { name: 'Edward', value: 21 }, { name: 'Sharpe', value: 37 } ]; console.log( arrayOfObjects.forEach(function(parmArrItem) { const p=stringifyObj(parmArrItem); console.log(p); } ));
在下面的代码中,2个对象显示正常,但之后我在运行结束时显示undefined
。 undefined
来自哪里? 谢谢。
arrayOfObjects.forEach
什么都不返回。
因此,当您使用console.log()
获取未定义的void函数时。
forEach方法仅对数组中的每个项执行回调提供的函数。
换句话说, console
打印评估 表达式的结果。
console.log()
未定义,因为您的函数或表达式未显式返回某些内容。
function stringifyObj(parmObj){ s=""; Object.getOwnPropertyNames(parmObj).forEach ( function (val, idx, array) { s+=val + ' -> ' + parmObj[val]+"\\n"; } ) return s; } var arrayOfObjects = [ { name: 'Edward', value: 21 }, { name: 'Sharpe', value: 37 } ]; arrayOfObjects.forEach(function(parmArrItem) { const p=stringifyObj(parmArrItem); console.log(p); } );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.