我有一个怀疑,我使用的finally
块错误,而且我不明白它的目的基本面...JavaScript错误与尝试处理..赶上..终于
function myFunc() {
try {
if (true) {
throw "An error";
}
} catch (e) {
alert (e);
return false;
} finally {
return true;
}
}
此函数将运行catch
块,提醒“出现错误”,但返回true。为什么它不会返回错误?
使用单一返回值是解决简化函数意图和清晰度问题的一种有效且有用的策略。使用变量来存储返回值也是解决复杂的返回值逻辑的有效手段。但是,我不认为可以这样说,函数中的多个return语句会自动表示不好的编程实践。在很多情况下,这样做很好:编写代码更简单,并且将函数的意图传达给需要了解它的下一位程序员。 `函数a(i){if(i === undefined){return;} ...}' – ErikE 2011-04-04 19:42:44