我的 javascript 代码无法正常工作。
function myfun()
{
return
{
alert("para");
}
};
myfun();
我已经阅读了有关 javascript 的自动分号插入的内容。我将上面的代码更正为
return{
alert("para");
}
但仍然出现错误:unexpected token (
.
我想知道为什么?
注意:我不需要解决方案,但我需要解释为什么上面的代码不起作用。
编辑
根据这本书,javascript 好的部分,如果返回值,return 语句必须与 return 表达式在同一行。
即
return {
status: true
};
和
return
{
status: true
};
错了,那怎么会
function myfun(para)
{
var status;
return
{
status : alert(para)
};
};
myfun("ok");
不产生错误。它不会工作,但也不会显示错误。当 {
与 return 在同一行时它会工作。
即
function myfun(para)
{
var status;
return{
status : alert(para)
};
};
myfun("ok");
最佳答案
在
return {
alert("para");
}
{...}
被解释为 object literal .对象文字具有以下形式
{
key: value,
//...
}
对象文字不能包含任意语句。
关于javascript - javascript 中的 return 语句出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28272580/