javascript tyy的执行顺序很怪异
<script type="text/javascript">
function Test() {
try {
return "函数Return了。";
} finally {
alert("Return 后仍然能执行");
}
}
alert(Test());
</script>
上述代码 它的执行顺序 将是 1 alert("Return 后仍然能执行"); 2 return "函数Return了。";
可以看出 functon 函数 内如有 有返回值了 return 了, 那么 错误处理的 finally 部分将先被执行。
就是说 function 中有返回值 使用try 那么js 会先执行 finally 里面的代码
functon 中没有返回值 使用try 那么js 是线型顺序 是不会进入 finally 的(当然程序没有错误)。
function Test() {
try {
return "函数Return了。";
} finally {
alert("Return 后仍然能执行");
}
}
alert(Test());
</script>
上述代码 它的执行顺序 将是 1 alert("Return 后仍然能执行"); 2 return "函数Return了。";
可以看出 functon 函数 内如有 有返回值了 return 了, 那么 错误处理的 finally 部分将先被执行。
就是说 function 中有返回值 使用try 那么js 会先执行 finally 里面的代码
functon 中没有返回值 使用try 那么js 是线型顺序 是不会进入 finally 的(当然程序没有错误)。