2019-02-02
题目
执行以下函数将输入什么?
function greet() {
return
{
message: "hello"
}
}
回答
执行 greet() 将输出 undefined。因为 JavaScript 的 ASI ( automatic semicolon insertion ),即自动插入分号会使编译器在语法分析时在 return 关键字后放一个分号,所以在不产生错误的情况下,他将输出 undefined。
加分回答
- 在 JavaScript 中,以下语句是需要使用分号进行结束的。但由于 ASI,通常都使用换行来省略分号
- 空语句
- 以
var、let、const、import、export开头的声明语句 - 表达式语句
debugger、continue、break、return、throw语句- 以前我是一个分号党,现在能省则省了。你呢?
ME!
链滴