return 与 finally

(function hello() { 
  try {
    return console.log('return');
  } catch (e) {
    
  } finally {
    console.log('finally'); 
  }
}());

有趣的是如果不加上方法名hello的话,return 语句会报错 not in a function

 

以前Java在争论return 和 finally 哪个先执行的问题,其实上面这个例子并不能证明return 比 finally先执行,因为return 后的方法会先执行。如果把return 纯粹当做一个结束语句,那必定还是finally先执行的。

posted @ 2014-06-25 14:16  gabin  阅读(511)  评论(0编辑  收藏  举报