91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何調試JavaScript代碼

發布時間:2021-05-20 16:46:45 來源:億速云 閱讀:150 作者:Leah 欄目:web開發

今天就跟大家聊聊有關如何調試JavaScript代碼,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1 把消息記錄到控制臺

IE8、Firefox、Chrome 和 Safari 中可以使用 console 對象向 JavaScript 控制臺寫入消息,它有這些方法:

  • error(message):錯誤性消息。

  • info(message):信息性消息。

  • log(message):一般性消息。

  • warn(message):警告性消息。

Opera 10.5 之前的版本,是使用 opera.postError() 方法把消息寫入控制臺的。

可以使用下面的這個函數作為統一寫入控制臺的接口:

/**
 * 跨瀏覽器,向控制臺寫入消息
 * @param message
 */
function log(message) {
  if (typeof console == "object") {
    console.log(message);
  } else if (typeof opera == "object") {
    opera.postError(message);
  } else if (typeof java == "object" && typeof java.lang == "object") {
    java.lang.System.out.println(message);
  }
}

可以在瀏覽器中安全地使用這個函數:

function sum(num1, num2) {
  log("Entering sum(), arguments are " + num1 + "," + num2);
  log("Before calculation");
  var result = num1 + num2;
  log("After calculation");
  log("Exiting sum()");
  return result;
}

注意:在發布之前,務必移除所有的消息。這可以在部署之前,通過編寫特定的代碼步驟,實現自動清理。不要使用 alert(),因為彈出的警告框會阻止程序的執行;而且在測試異步操作對時間的影響時,使用警告框也會影響測試結果。

2 把消息記錄到當前頁面

可以在頁面中開辟出一小塊區域,用于顯示消息:

function log(message) {
  var console = document.getElementById("debuginfo");
  if (console == null) {
    console = document.createElement("div");
    console.id = "debuginfo";
    console.style.background = "#dedede";
    console.style.border = "1px solid silver";
    console.style.padding = "5px";
    console.style.width = "400px";
    console.style.position = "absolute";
    console.style.right = "0px";
    console.style.top = "0px";
    document.body.appendChild(console);
  }
  console.innerHTML += "<p>" + message + "</p>";
}

這種技術在不支持 JavaScript 控制臺的 IE7 以及早期版本中,特別有用。

注意:在發布之前,也要移除把錯誤消息輸出到頁面中的代碼。

3 拋出錯誤

如果錯誤消息很具體,那么就可以直接把它當做確定錯誤來源的依據,比如下面的這個函數:

function divide(num1, num2){
  return num1/num2;
}

這個函數如果其中的一個參數不是數值,那么就會返回 NaN。所以可以在計算前先進行檢測:

function divide(num1, num2){
  if(typeof num1 !="number" || typeof num2 !="number"){
    throw new Error("divide(): 兩個參數都必須是數值")
  }
  return num1/num2;
}

這個錯誤消息包含了函數的名稱以及導致錯誤的真正原因,所以如果拋出了這個錯誤,我們就能立即知道錯誤的來源以及問題的性質。

大型的應用程序,可以使用下面的這個 assert() 函數拋出自定義錯誤:

<script type="text/javascript">
  function assert(condition, message) {
    if (!condition) {
      throw new Error(message);
    }
  }
  function divide(num1, num2) {
    assert(typeof num1 == "number" && typeof num2 == "number", "divide():Both arguments must be numbers.");
    return num1 / num2;
  }
  divide(1,"tt");
</script>

JavaScript可以做什么

1.可以使網頁具有交互性,例如響應用戶點擊,給用戶提供更好的體驗。 2.可以處理表單,檢驗用戶的輸入,并提供及時反饋節省用戶時間。 3.可以根據用戶的操作,動態的創建頁面。 4使用JavaScript可以通過設置cookie存儲在瀏覽器上的一些臨時信息。

看完上述內容,你們對如何調試JavaScript代碼有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永吉县| 桐乡市| 曲沃县| 南昌市| 崇义县| 兴仁县| 秭归县| 峡江县| 深水埗区| 榆林市| 禄丰县| 蒲江县| 南充市| 榆社县| 梧州市| 克山县| 康平县| 大足县| 井陉县| 桦川县| 中江县| 阿瓦提县| 吉安县| 桂平市| 高雄县| 姜堰市| 雷州市| 贵南县| 民勤县| 清水县| 东丽区| 苏尼特左旗| 施甸县| 嘉峪关市| 玛曲县| 汉寿县| 饶平县| 乌海市| 大同县| 宜春市| 北川|