在控制台中运行 JavaScript

Kayce Basques
Kayce Basques

本互动式教程介绍了如何在 Chrome 开发者工具的控制台中运行 JavaScript。如需了解如何将消息记录到控制台,请参阅开始记录消息。如需了解如何暂停 JavaScript 代码并逐行逐步执行,请参阅开始调试 JavaScript

控制台。

图 1. 控制台

概览

控制台是一个 REPL,即读取、评估、打印和循环。它会读取您在其中输入的 JavaScript,评估您的代码,输出表达式的结果,然后返回到第一步。

设置开发者工具

本教程旨在让您能够打开演示并自行尝试所有工作流。当您实际操作时,更有可能在日后记住工作流程。

  1. 按 Command+Option+J (Mac) 或 Control+Shift+J(Windows、Linux、ChromeOS)即可在此页面上打开控制台

    左侧是本教程,右侧是 DevTools。

    图 2. 左侧是本教程,右侧是 DevTools。

查看和更改网页的 JavaScript 或 DOM

在构建或调试网页时,在控制台中运行语句通常很有用,这样可以更改网页的外观或运行方式。

  1. 请注意下方按钮中的文字。

  2. 控制台中输入 document.getElementById('hello').textContent = 'Hello, Console!',然后按 Enter 键对表达式求值。请注意按钮内的文字如何变化。

    评估上述表达式后,控制台的显示效果。

    图 3. 评估上述表达式后,控制台的显示效果。

    在您评估的代码下方,您会看到 "Hello, Console!"。回顾一下 REPL 的 4 个步骤:读取、求值、输出、循环。在评估代码后,REPL 会输出表达式的结果。因此,"Hello, Console!" 必须是评估 document.getElementById('hello').textContent = 'Hello, Console!' 的结果。

运行与网页无关的任意 JavaScript

有时,您可能只是想要一个代码游乐场,以便测试一些代码,或试用您不熟悉的新 JavaScript 功能。控制台非常适合进行此类实验。

  1. 在控制台中输入 5 + 15。结果 20 将显示在表达式下方(除非表达式的计算时间过长)。
  2. Enter 可对表达式求值。控制台会在代码下方输出表达式的结果。图 4 显示了评估此表达式后控制台应呈现的样子。
  3. 控制台中输入以下代码。尝试逐个字符地输入,而不是复制粘贴。

    function add(a, b=20) {
      return a + b;
    }
    
  4. 现在,调用您刚刚定义的函数。

    add(25);
    

    评估上述表达式后,控制台的显示效果。

    图 4. 评估上述表达式后,控制台的显示效果。

    add(25) 的计算结果为 45,因为在调用 add 函数时,如果没有第二个实参,b 会默认设置为 20

在函数返回之前,您将无法在此控制台会话中运行任何代码。 如果计算时间过长,您可以使用任务管理器取消耗时的计算;不过,这也会导致当前页面失败,并且您输入的所有数据都会丢失。

后续步骤

如需了解与在控制台中运行 JavaScript 相关的更多功能,请参阅运行 JavaScript

借助 DevTools,您可以在脚本执行过程中暂停脚本。暂停期间,您可以使用控制台查看和更改该时间点网页的 windowDOM。这可实现强大的调试工作流程。如需查看互动式教程,请参阅开始调试 JavaScript

控制台还支持一组格式说明符。如需了解有关格式化和设置控制台消息样式的各种方法,请参阅在控制台中设置消息格式和样式

除此之外,控制台还提供了一组便捷函数,可让您更轻松地与网页互动。 例如:

  • 您可以输入 $(),而不是输入 document.querySelector() 来选择元素。此语法的灵感来自 jQuery,但实际上并不是 jQuery。它只是 document.querySelector() 的别名。
  • debug(function) 实际上是在该函数的第一行设置断点。
  • keys(object) 返回一个包含指定对象键的数组。

如需了解所有便捷函数,请参阅 Console Utilities API 参考文档