JavaScript 中控制台的需求是什么?

What is the need of console in JavaScript?

本文关键字:是什么 需求 控制台 JavaScript      更新时间:2023-09-26

有人告诉我,在使用console.log((方法后,我不需要警报框并准备了一些代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script>
function cool()
{console.log("Message");}</script>
</head>
<body onload="cool();">
</body>
</html>

但它并没有像警报框那样使JavaScript停止运行。它还将"消息"写入Firebug窗口。

  • 它如何在没有Firebug的客户端浏览器上工作?

  • 它是否适用于所有使用相同语法的浏览器?

  • 它只是为了Web开发目的而制作的吗?

它如何在没有火沼泽的客户端浏览器上工作。

它不起作用:-(实际上FireBug不是必需的。例如,现代浏览器(例如谷歌浏览器(实现了console.log方法,输出进入其控制台。对于旧版浏览器,它不起作用,因为未定义此方法。

它只是为了网络开发目的而制作的吗?

是的,主要用于调试。

在某些浏览器(如 IE7(中,某些控制台方法未定义。如果你经常使用 console.debug、console.info 和其他在 IE7 和其他浏览器中可能不可用的方法,则可以通过在页面上运行任何其他 JavaScript 之前粘贴此代码来处理这种情况:

// override loggers to avoid throwing errors
if(window.console == null || window.console == undefined || !window.console) {
           console = { log: function() {}, info: function() {}, warn: function() {}, error: function() {}, trace: function() {}, debug: function() {} };
           var fbscript = document.createElement("script");
           fbscript.src = "https://getfirebug.com/firebug-lite-beta.js";
           fbscript.setAttribute("type","text/javascript");
           document.getElementsByTagName("head")[0].appendChild(fbscript);
} else if(!console.debug) {
         console.debug = function(text) { if(console.log) console.log("D: "+text); };
}

这首先检查 window.console 是否为空或未定义。如果是,则它将控制台、控制台.log、console.info 等定义为空函数。这可以防止它们在不支持它们的浏览器中导致错误,并且可以防止您在代码中存在错误或其他问题时不必要地删除原本非常有用的面包屑。

这样做的另一件事是在找不到控制台时输入Firebug Lite。这在没有本机调试器的浏览器中非常有用。

与警报相比,控制台日志语句的优点是日志语句不会停止代码的执行。在测试功能或调试同时触发多个事件的代码时,在代码中包含警报可能会掩盖一些未知的 bug,这些 bug 要么在即将部署和删除警报之前不会发现,要么更糟糕的是,它们直到代码进入生产环境后才会被发现。

就观众而言,我不认识太多知道Firebug或Chrome调试器是什么的非技术人员。因此,Web开发人员似乎确实是这些功能的预期目标。这并不是说它们不能用于其他功能。例如,当我在线观看视频时,我使用 chrome 调试器删除烦人的侧边栏广告。

记录消息就是这样做的。

它如何在没有火沼泽的客户端浏览器上工作。

它输出到浏览器定义的任何JavaScript控制台。FireBug会拦截这一点,但不是必需的。

它是否适用于所有具有相同语法的浏览器?

是的。

它只是为了网络开发目的而制作的吗?

用于调试 javascript。