(function(){
try{
var e; //此处为了正常说明问题,声明了对象e,正常情况下不需要声明catch的参数
throw new Error();
}catch(e){
var x = 1,
y = 2;
console.log("e:" + e);
console.log("x:" + x);
}
console.log("e:" + e);
console.log("x:" + x);
console.log("x:" + y);
})();
// 首先 var x = 1在底层是两部,声明在顶层 var x; x=1;
// catch(e){} catch的参数对象作用域只在catch的{}内,在内部正常赋值,
//但在块外访问不到。所以在外部输出是undefined,y不是catch参数,能正常访问
每日一题1023之JavaScript作用域、异常、声明
最新推荐文章于 2024-05-13 02:47:11 发布