Javascript 为什么这个函数返回未定义?
我不理解为什么下面的函数不返回{bar:hello},而是返回undefinedJavascript 为什么这个函数返回未定义?,javascript,Javascript,我不理解为什么下面的函数不返回{bar:hello},而是返回undefined function foo2() { return { bar: "hello" }; } 这是因为javascript的自动分号插入将其编译到下面 function foo2() { return; // notice the semi-colon here? { bar: "hello" }; } 自回归以来;调用时,函数终止而
function foo2() {
return
{
bar: "hello"
};
}
这是因为javascript的自动分号插入将其编译到下面
function foo2() {
return; // notice the semi-colon here?
{
bar: "hello"
};
}
自回归以来;调用时,函数终止而不转到下一行代码。
要使其正常工作,只需将开口支架放在返回后的正确位置{
你最好使用分号,而不是省略它们。想要知道原因吗?请查看JS引擎返回后插入的分号
function foo2() {
return;
{
bar: "hello"
};
}
换成这个就行了
function foo2() {
return {
bar: "hello"
};
}
关于自动分号插入,又名ASI,您可能需要阅读和。回车后和大括号前有回车符。请尝试回车{相反。你可能想阅读JavaScript。请注意,这正是JS历史上创建的几乎每一个JS教程、样式指南、书籍等中所展示的ASI危险的确切例子。任何花了3秒钟学习JS的人都知道这一点。嗯,也许4秒钟…:-