为什么会出现语法错误?

时间:2013-11-16 07:29:02

标签: javascript try-catch hoisting

我试图更好地理解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;
}

2 个答案:

答案 0 :(得分:3)

catch块应该捕获错误,否则会触发语法错误。试试这个:

try { var y = getY(); } catch(e){}

此外,您的zx变量也从未定义过。

答案 1 :(得分:0)

catch块需要一个参数。

http://www.w3schools.com/js/js_errors.asp