如果我有一个javascript函数,我可能不会从每个代码路径返回一个值,例如:
function f()
{
if (checkSomething())
{
return 42;
}
// no return statement here
}
Run Code Online (Sandbox Code Playgroud)
这是有效的JavaScript还是只是偶然工作(即在某些浏览器中运行时可能会出现问题)?
sla*_*ppy 12
是的,这是有效的JavaScript.如果checkSomething()评估为false,则返回undefined.
有关详细信息,请参阅http://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope.
尽管如此,你应该注意到返回不同类型的数据(在这种情况下,整数或者undefined)是不好的做法.