前端常识-console控制台打印调试

这篇具有很好参考价值的文章主要介绍了前端常识-console控制台打印调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    Console 对象提供了浏览器控制台调试的接口(如:Firefox 的 Web Console)。在不同浏览器上它的工作方式可能不一样,但通常都会提供一套共性的功能。

    Console 对象可以从任何全局对象中访问到,如 浏览器作用域上的 Window,以及通过属性控制台作为 workers 中的特定变体的 WorkerGlobalScope。可以通过 Window.console 引用,也可以简单的通过 console 引用。例:

console.log("Failed to open the specified link")

       本页面记录了 Console 对象上的方法并给出了几个 Usage (用例)。

       PS: 此特性在 Web Worker 中可用

       PS: 实际的 console 接口被定义为全小写的形式(比如不是这种形式 Console ),这是历史原因导致的。

方法

Console.assert()

如果第一个参数为 false ,则将消息和堆栈跟踪记录到控制台。

Console.clear()

清空控制台,并输出 Console was cleared

Console.count()

以参数为标识记录调用的次数,调用时在控制台打印标识以及调用次数。

Console.countReset()

重置指定标签的计数器值。

Console.debug()

在控制台打印一条 "debug" 级别的消息。

Console.dir()

显示一个由特定的 Javascript 对象列表组成的可交互列表。这个列表可以使用三角形隐藏和显示来审查子对象的内容。.

Console.dirxml()

打印 XML/HTML 元素表示的指定对象,否则显示 JavaScript 对象视图。

Console.error()

打印一条错误信息,使用方法可以参考 string substitution。

Console.exception() 非标准 已弃用

error() 方法的别称。

Console.group()

创建一个新的内联 group, 后续所有打印内容将会以子层级的形式展示。调用 groupEnd()来闭合组。

Console.groupCollapsed()

创建一个新的内联 group。使用方法和 group() 相同,不同的是,groupCollapsed() 方法打印出来的内容默认是折叠的。调用groupEnd()来闭合组。

Console.groupEnd()

闭合当前内联 group。

Console.info()

打印资讯类说明信息,使用方法可以参考 string substitution。

Console.log()

打印内容的通用方法,使用方法可以参考 string substitution。

Console.profile() 非标准

Starts the browser's built-in profiler (for example, the Firefox performance tool). You can specify an optional name for the profile.

Console.profileEnd() 非标准

Stops the profiler. You can see the resulting profile in the browser's performance tool (for example, the Firefox performance tool).

Console.table()

将列表型的数据打印成表格。

Console.time()

启动一个以入参作为特定名称的计时器,在显示页面中可同时运行的计时器上限为 10,000.

Console.timeEnd()

结束特定的 计时器 并以毫秒打印其从开始到结束所用的时间。

Console.timeLog()

打印特定 计时器 所运行的时间。

Console.timeStamp() 非标准

添加一个标记到浏览器的 Timeline 或 Waterfall 工具。

Console.trace()

输出一个 stack trace。

Console.warn()

打印一个警告信息,可以使用 string substitution 和额外的参数。

示例

输出文本到控制台

console 对象中较多使用的主要有四个方法 console.log(), console.info(), console.warn(), 和console.error()。每一个结果在日志中都有不同的样式,可以使用浏览器控制台的日志筛选功能筛选出感兴趣的日志信息。

有两种途径使用这些方法,可以简单的传入一组对象,其中的字符串对象会被连接到一起,输出到控制台。或者可以传入包含零个或多个的替换的字符串,后面跟着被替换的对象列表。

打印单个对象

The simplest way to use the logging methods is to output a single object:

var someObject = { str: "Some text", id: 5 };
console.log(someObject);

Copy to Clipboard

打印结果类似下面:

[09:27:13.475] ({str:"Some text", id:5})

打印多个对象

可以打印多个对象,就像下面一样:

var car = "Dodge Charger";
var someObject = { str: "Some text", id: 5 };
console.info("My first car was a", car, ". The object is:", someObject);

Copy to Clipboard

打印结果类似下面:

[09:28:22.711] My first car was a Dodge Charger . The object is: ({str:"Some text", id:5})

使用字符串替换

可以在传递给 console 的方法的时候使用下面的字符以期进行参数的替换。

Substitution string Description
%o or %O 打印 JavaScript 对象。在审阅器点击对象名字可展开更多对象的信息。
%d or %i 打印整数。支持数字格式化。例如,console.log("Foo %.2d", 1.1) 会输出有先导 0 的两位有效数字:Foo 01
%s 打印字符串。
%f 打印浮点数。支持格式化,比如 console.log("Foo %.2f", 1.1) 会输出两位小数:Foo 1.10

备注: Chrome 不支持精确格式化。

当要替换的参数类型和预期的打印类型不同时,参数会被转换成预期的打印类型。

for (var i=0; i<5; i++) {
  console.log("Hello, %s. You've called me %d times.", "Bob", i+1);
}

输出样例如下所示:

[13:14:13.481] Hello, Bob. You've called me 1 times.
[13:14:13.483] Hello, Bob. You've called me 2 times.
[13:14:13.485] Hello, Bob. You've called me 3 times.
[13:14:13.487] Hello, Bob. You've called me 4 times.
[13:14:13.488] Hello, Bob. You've called me 5 times.

为控制台定义样式

可以使用 %c 为打印内容定义样式:

console.log("This is %cMy stylish message", "color: yellow; font-style: italic; background-color: blue;padding: 2px");

Copy to Clipboard

指令前的文本不会受到影响,但指令后的文本将会使用参数中声明的 CSS 样式。

前端打印console,web开发,vue,vscode,idea,java

%c 语法可用的属性如下 (至少在 Firefox 中是这样,别的浏览器会有诸多不同):

  • background 与其全写版本。
  • border 与其全写版本。
  • border-radius
  • box-decoration-break
  • box-shadow
  • clear 和 float
  • color
  • cursor
  • display
  • font 与其全写版本。
  • line-height
  • margin
  • outline 与其全写版本。
  • padding
  • text-transform 这类 text-* 属性
  • white-space
  • word-spacing 和 word-break
  • writing-mode

PS:控制台信息的默认行为与行内元素相似。为了应用 paddingmargin 这类效果,你应当这样设置display: inline-block

在 console 中使用编组

可以使用嵌套组来把视觉上相关的元素合并,以协助组织你的输出。使用console.group()创建新的嵌套块,或者用console.groupCollapsed() 创建默认折叠的块,这种块需要点击闭合按钮来展开才能读到。

直接调用 console.groupEnd().就可以退出当前组。比如下面的代码:

console.log("This is the outer level");
console.group();
console.log("Level 2");
console.group();
console.log("Level 3");
console.warn("More of level 3");
console.groupEnd();
console.log("Back to level 2");
console.groupEnd();
console.debug("Back to the outer level");

Copy to Clipboard

执行结果:

前端打印console,web开发,vue,vscode,idea,java

定时器

你可以使用定时器来计算一段特定操作的周期。使用 console.time() 方法以创建一个计时器,其唯一的参数表示了计时器的名字。使用 console.timeEnd() 方法以关闭计时器,并获取经过的毫秒数,其同样以计时器的名字作为参数。一个页面最多同时只能有 10,000 个计数器运行。

示例::

console.time("answer time");
alert("Click to continue");
console.timeLog("answer time");
alert("Do a bunch of other stuff...");
console.timeEnd("answer time");

Copy to Clipboard

这段代码将会打印需要用户关闭 alert box 的时间,打印时间到控制台上,等用户关闭第二个 alert 后,把结束时间打印到控制台。

前端打印console,web开发,vue,vscode,idea,java

注意无论在开始还是结束的时候都会打印计时器的名字。

备注: 如果使用计时器来记录网络时间请求的话下面的内容很重要。计时器将会报告传输过程的整个时间,而网络面板里显示的时间只计算了请求头部所需要的时间。如果启用了响应体日志记录,那么列出的响应头部和响应体组合的时间应该与在控制台输出中看到的时间相符。

堆栈跟踪

控制台也支持输出堆栈,其将会显示到调用 console.trace() 的点的调用路径。如下所示:

function foo() {
  function bar() {
    console.trace();
  }
  bar();
}

foo();

Copy to Clipboard

控制台的输出:

前端打印console,web开发,vue,vscode,idea,java文章来源地址https://www.toymoban.com/news/detail-742051.html

注意

  • 在 Firefox 浏览器中,如果页面中自己定义了 console 对象,那么它会覆盖掉浏览器内置的 console对象,在其他浏览器可能也是。

到了这里,关于前端常识-console控制台打印调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp(vue3) - 微信小程序平台使用import引入外部js文件出现undefined,正常引入js文件(sdk插件)文件路径正确但console.log控制台打印时却是undefined

    注:uniapp 小程序平台! 在使用 uniapp 微信小程序端导入 SDK 的过程中,您可能会遇到这样的情况: 使用 console.log() 打印导入的模块名称时,实际输出的名称并不是您期望的名称。这是因为 uniapp 进行了编译和打包处理后,会将代码重新命名以减小文件大小和提高执行效率,包

    2024年02月10日
    浏览(97)
  • 浅析 C# Console 控制台为什么也会卡死

    在分析旅程中,总会有几例控制台的意外卡死导致的生产事故,有经验的朋友都知道,控制台卡死一般是动了 快速编辑窗口 的缘故,截图如下: 虽然知道缘由,但一直没有时间探究底层原理,市面上也没有对这块的底层原理介绍,昨天花了点时间简单探究了下,算是记录分

    2024年02月08日
    浏览(87)
  • Python:在Spyder控制台Console中不显示图片问题

    Python图片在原有电脑能够在控制台Console中正常显示,但是换了电脑后就不能够输出图片, 并给出如下提示 Figures now render in the Plots pane by default. To make them also appear inline in the Console, uncheck “Mute Inline Plotting” under the Plots pane options menu. 意思是“默认情况下,图形现在在plot窗格

    2024年02月13日
    浏览(79)
  • Unity入门系列之Inspector检查窗口和Console控制台窗口

    目录 1.基本内容 2.Inspector检查窗口 3.Console控制台窗口 Inspector检查窗口:查看场景中游戏对象关联的C#脚本信息。 Console控制台窗口:用于查看调试信息的窗口,报错警告,测试打印都可以显示在其中。 不选择场景中游戏对象或不进行任何相关设置,该界面不会显示任何信息。

    2024年02月05日
    浏览(44)
  • FISCO-BCOS 命令交互控制台 Console-命令大全(超详细)

    引言 此文章基于fisco-bocs官方技术文档进行整理并加以解释,在这里可以快速理解命令的含义和更快地上手,可以当作命令词典使用。 前提条件 部署好区块链网络 配置好console,即拷贝配置文件等等 console 目录如下: 使用账户生成脚本生成账户(非国密版) PEM格式 p12格式 启动控

    2024年02月04日
    浏览(65)
  • UE4,UE5虚幻引擎,Command Console控制台命令,参数集

    1、Command Console控制台命令,虚幻官方文档 https://docs.unrealengine.com/5.0/zh-CN/unreal-editor-interface/ 2、在cmd控制台 help 并按 Enter 3、自动跳转到网页,在网页中,可以查找所有的命令行参数。

    2024年02月15日
    浏览(87)
  • idea 控制台 打印 Tomcat日志Tomcat Catalina Log控制台乱码问题

    修改tomcat的日志配置文件 conf一logging.properties 修改【1catalina.org.apache.juli.AsyncFileHandler.encoding】的值为gbk

    2024年02月14日
    浏览(79)
  • macbook Safari 如何打开F12 Console 控制台 开发者工具 Developer Tools

    首先要启用开发者模式,然后就可以打开开发者工具。 Safari–Preferences呼出首选项面板(或用快捷键 command+, 直接呼出)。 在 Advanced 菜单面板下,勾选 Show Develop Menu in menu Bar 。 顶部菜单栏在 勾选这个选项之前 : 勾选后 ,在 Bookmarks 和 Window 之间多了一个 Develop : 点击这个

    2024年02月11日
    浏览(78)
  • Mybatis 开启控制台打印sql语句

    org.jeecg.modules.hdx.mapper为@mapper注解下面的类,或者继承BaseMapper,或者@MapperScan扫描包的类 2-1:在pom文件引入依赖 3-1:pom配置(包含分页)

    2024年02月13日
    浏览(81)
  • 浏览器控制台调试代码和JavaScript控制台方法介绍

    浏览器控制台调试代码 浏览器控制台(Console)是浏览器提供的一个开发工具,用于在浏览器中执行和调试 JavaScript 代码。它提供了一个交互式环境,可以输入 JavaScript 代码,并立即看到代码执行结果或输出信息。 在大部浏览器中,可以通过按下 F12 键或右键点击网页并选择

    2024年02月03日
    浏览(99)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包