讲师回答 / Bosn
str是string(基本类型),本身是没有方法的。当尝试把基本类型的str当做对象一样访问时,例如:str.length; 解释器会创建一个临时的包装对象,伪代码:[[tempObj]] = new String(str);[[tempObj]].length; // 返回具体的length;delete [[tempObj]]; // 销毁临时对象重复访问str.length会重复创建这个临时对象。所以str.t赋值可以成功,但再次访问str.t返回undefined,因为每次创建的临时包装对象都是不...
2015-03-06
讲师回答 / Bosn
红色区域内,try没有对应的catch,所以throw出去的Error("oops")抛了出去,在此之前不管是否抛异常都要先走finally,所以先输出"finally", 而后外层的try/catch捕获到这个Error("oops"),所以第二条输出"outer" "oops"
2015-03-04