鍍金池/ 問(wèn)答/HTML5  HTML/ 如何理解 try catch 延長(zhǎng)了作用域鏈?

如何理解 try catch 延長(zhǎng)了作用域鏈?

看了下js高程,第四章說(shuō)到
with語(yǔ)句和 try catch 都可以延長(zhǎng)作用域鏈,
with比較好理解,而且一般有性能問(wèn)題,也不推薦用。
那這個(gè)try catch 是捕獲Error對(duì)象的時(shí)候 會(huì)新開(kāi)一個(gè)作用域嗎?
還是說(shuō) catch的大括號(hào)內(nèi)就是一個(gè)能訪(fǎng)問(wèn)到error對(duì)象的塊級(jí)作用域?

回答
編輯回答
絯孑氣

try-catch在使用時(shí)的花括號(hào)會(huì)創(chuàng)建一個(gè)局部作用域,自然延長(zhǎng)了作用域鏈,這個(gè)局部作用域會(huì)在語(yǔ)句執(zhí)行之后自動(dòng)銷(xiāo)毀。

2017年11月22日 02:44
編輯回答
萌面人

try中的代碼捕獲到錯(cuò)誤以后,會(huì)把異常對(duì)象推入一個(gè)可變對(duì)象并置于用域的頭部,在catch代碼塊內(nèi)部,函數(shù)的所有局部變量將會(huì)被放在第二個(gè)作用域?qū)ο笾?,catch中的代碼執(zhí)行完,會(huì)立即銷(xiāo)毀當(dāng)前作用域。

2017年8月16日 10:49
編輯回答
何蘇葉

看了一下書(shū),我理解為和with一樣的原理,即增加了大括號(hào)內(nèi)代碼可訪(fǎng)問(wèn)的變量,在try catch中是error對(duì)象

2017年9月27日 08:51