百度笔试的一道题,感觉挺奇葩的:
下面这个函数调用返回的是对象:
function test(){
return {a:1}
}
但是下面这个函数调用返回的却是 undefined
function test(){
return
{
a:1
}
}
百度笔试的一道题,感觉挺奇葩的:
下面这个函数调用返回的是对象:
function test(){
return {a:1}
}
但是下面这个函数调用返回的却是 undefined
function test(){
return
{
a:1
}
}
JavaScript的return语句中的一个设计的错误。
javascript有一个自动修复机制——在程序可能有缺陷的时候,自动插入分号补全
比如 :
return
{
}
javascript的自动补全会将上面代码变成:
return;
{
}
所以return;返回是undefined。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
因为js的自动补全功能,所以浏览器看到的实际是
相反的还有
都是会报错的
虽然尤大推荐结尾不写分号https://www.zhihu.com/questio...,只需注意下特定几个模式,但我推荐还是写分号好,清晰