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先执行的。

原文地址:https://www.cnblogs.com/gabin/p/3807977.html