我试图更好地理解try
内部的提升,所以我做了以下测试用例,但它抛出了SyntaxError
。
这不是我所期待的。
console.log(x);
console.log(y);
console.log(z);
var x = 5;
try { var y = getY(); } catch(){}
console.log(x);
console.log(y);
console.log(z);
function getY(){
throw "ERR";
return 6;
}
答案 0 :(得分:3)
catch
块应该捕获错误,否则会触发语法错误。试试这个:
try { var y = getY(); } catch(e){}
此外,您的z
和x
变量也从未定义过。
答案 1 :(得分:0)
catch
块需要一个参数。