为什么下面这个函数调用返回的是 undefined?
百度笔试的一道题,感觉挺奇葩的:
下面这个函数调用返回的是对象:
function test(){
return {a:1}
}
但是下面这个函数调用返回的却是 undefined
function test(){
return
{
a:1
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为js的自动补全功能,所以浏览器看到的实际是
相反的还有
都是会报错的
虽然尤大推荐结尾不写分号https://www.zhihu.com/questio...,只需注意下特定几个模式,但我推荐还是写分号好,清晰
JavaScript的return语句中的一个设计的错误。
javascript有一个自动修复机制——在程序可能有缺陷的时候,自动插入分号补全
比如 :
return
{
}
javascript的自动补全会将上面代码变成:
return;
{
}
所以return;返回是undefined。