javascript - 關於try、catch、throw的問題?
PHP中文网
PHP中文网 2017-05-19 10:31:16
0
4
546
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這裡我隨便加上一段字串,加上了一段字串,就沒有提示錯誤行號。這是什麼原因呢?

PHP中文网
PHP中文网

认证0级讲师

全部回覆(4)
Ty80

第一句印的是一個物件。

第二句印的是一個字串。即err.toString() + "這裡我隨便加上一段字串"

try{
    var num = pompt("请输入5~10");
}
catch(err){
    console.log(err);
    console.log(err.toString());
}

非專業回答,僅供參考-。 -

漂亮男人

你log一下err.toString()就知道了

因為err+str,err先呼叫toString轉換成字串了。

洪涛
try{
    var num = pompt("请输入5~10");
}
catch(err){
    console.log(err);
    console.log(err , "这里我随便加上一段字符串");
} 

可以這樣啊

刘奇

err是一個物件形式的數據,加號連接的時候被自動轉成字串了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板