搜尋

首頁  >  問答  >  主體

javascript - 關於try、catch、throw的問題?

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中文网2752 天前519

全部回覆(4)我來回復

  • PHP中文网

    PHP中文网2017-05-19 10:33:16

    第一句印的是一個物件。

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

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

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

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:33:16

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

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-19 10:33:16

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

    可以這樣啊

    回覆
    0
  • 怪我咯

    怪我咯2017-05-19 10:33:16

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

    回覆
    0
  • 取消回覆