如何在Google Chrome JavaScript控制台中打印调试消息?

JavaScript

流云

2020-03-13

如何在Google Chrome JavaScript控制台中打印调试消息?

请注意,JavaScript控制台与JavaScript调试器不同;它们具有不同的语法AFAIK,因此JavaScript Debugger中print命令将在此处不起作用。在JavaScript控制台中,print()会将参数发送到打印机。

第1435篇《如何在Google Chrome JavaScript控制台中打印调试消息?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

9个回答
TomL 2020.03.13

简单的Internet Explorer 7及以下版本的shim,可为其他浏览器保留行号:

/* Console shim */
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());
Near神奇 2020.03.13

进一步改进Delan和Andru的想法(这就是为什么此答案是经过编辑的版本);console.log可能存在,而其他功能可能不存在,因此默认映射到与console.log ...相同的功能。

您可以编写脚本来创建控制台函数(如果不存在):

if (!window.console) console = {};
console.log = console.log || function(){};
console.warn = console.warn || console.log;  // defaults to log
console.error = console.error || console.log; // defaults to log
console.info = console.info || console.log; // defaults to log

然后,使用以下任一方法:

console.log(...);
console.error(...);
console.info(...);
console.warn(...);

这些功能将记录不同类型的项目(可以根据日志,信息,错误或警告进行过滤),并且在控制台不可用时不会导致错误。这些功能可在Firebug和Chrome控制台中使用。

JinJinPro 2020.03.13
console.debug("");

使用此方法可以在控制台中以亮蓝色打印文本。

在此处输入图片说明

阿飞路易 2020.03.13

console.log()如果您在使用的哪种编程软件编辑器中调试过代码,就可以使用,您将看到输出很可能是最适合我的编辑器(Google Chrome)。只需按F12,然后按“控制台”选项卡。您将看到结果。快乐的编码。:)

Stafan逆天 2020.03.13

或使用此功能:

function log(message){
    if (typeof console == "object") {
        console.log(message);
    }
}
Itachi小哥 2020.03.13

只需添加一个很酷的功能,许多开发人员就会错过:

console.log("this is %o, event is %o, host is %s", this, e, location.host);

这是JavaScript对象神奇的%o转储可点击和可深浏览的内容。%s被显示只是为了记录。

这也很酷:

console.log("%s", new Error().stack);

它给出了到new Error()调用点的类Java堆栈跟踪(包括文件路径和行号!)。

双方%onew Error().stack在Chrome和Firefox提供!

对于Firefox中的堆栈跟踪,也可以使用:

console.trace();

https://developer.mozilla.org/en-US/docs/Web/API/console所述

骇客入侵!

更新:一些库是由坏人编写的console,它们出于自己的目的重新定义对象。console在加载库后还原原始浏览器,请使用:

delete console.log;
delete console.warn;
....

请参阅堆栈溢出问题还原console.log()

Tony宝儿 2020.03.13

只是一个快速警告-如果您想在Internet Explorer中进行测试而不删除所有console.log(),则需要使用Firebug Lite,否则会遇到一些不太友好的错误。

(或者创建您自己的console.log(),它仅返回false。)

TomSam 2020.03.13

为了改进Andru的想法,您可以编写一个脚本来创建控制台函数(如果不存在):

if (!window.console) console = {};
console.log = console.log || function(){};
console.warn = console.warn || function(){};
console.error = console.error || function(){};
console.info = console.info || function(){};

然后,使用以下任一方法:

console.log(...);
console.error(...);
console.info(...);
console.warn(...);

这些功能将记录不同类型的项目(可以根据日志,信息,错误或警告进行过滤),并且在控制台不可用时不会导致错误。这些功能可在Firebug和Chrome控制台中使用。

Tom老丝Pro 2020.03.13

从浏览器地址栏中执行以下代码:

javascript:console.log(2);

成功将消息打印到Google Chrome中的“ JavaScript控制台”。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android