js 裏面 try catch finally 中的 return 問題

1、try catch

我們先來看 下面 的一段代碼

​
function useTry() {
    try {
       return i--
    } catch (error) {
       return 'hh' + error
    }
}

在這裏,可以 回答一下,這個 return 到底是 哪裏的 return ? 是 try 裏面的,還是 catch 裏面的?

如截圖所示,肯定和所有人想的一樣,這裏的 return 被 catch 到了,try 中的 return 沒有執行到,反而執行了 catch 中的 return

2、try catch finally

function useTry() {
  try {
      return 'try'
  } catch (error) {
      return 'error'
  } finally {
      return 'finally'
  }
}

然後再 看看上面的代碼,返回值又是 什麼呢?

有沒有出乎意料?try 中的 return 被finally 給截胡

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章