try{
var num = pompt("请输入5~10");
}
catch(err){
console.log(err);
console.log(err + "这里我随便加上一段字符串");
}
上述代码中,console.log(err);
在控制台是这样输出的:ReferenceError: pompt is not defined at index.html:37
,有提示行号。
但是console.log(err + "这里我随便加上一段字符串");
在控制台中输出是这样的:ReferenceError: pompt is not defined这里我随便加上一段字符串
,加上了一段字符串,就没有提示错误行号。这是什么原因呢?
第一句打印的是一个对象。
第二句打印的是一个字符串。即err.toString() + "这里我随便加上一段字符串"
非专业回答,仅供参考-。-
你log一下err.toString()就知道了
因为err+str,err先调用toString转化为字符串了。
可以这样啊
err是一个对象形式的数据,加号连接的时候被自动转成字符串了。