console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
console.log有什么用?
请用一个代码示例解释如何在JavaScript中使用它。
console.log与jQuery无关。它是由调试器(包括Chrome调试器和Firebug)提供的一个通用对象/方法,允许脚本将数据(或大多数情况下的对象)记录到JavaScript控制台。
它不是jQuery特性,而是用于调试的特性。例如,当发生一些事情时,您可以将一些事情记录到控制台。例如:
$('#someButton').click(function() {
console.log('#someButton was clicked');
// do something
});
当你点击按钮时,你会看到#someButton在Firebug的“控制台”选项卡(或其他工具的控制台-例如Chrome的Web检查器)中被点击。
由于某些原因,控制台对象可能不可用。然后你可以检查它是否正确——这很有用,因为当你部署到生产环境时,你不必删除调试代码:
if (window.console && window.console.log) {
// console is available
}
使用console.log向页面添加调试信息。
许多人使用alert(hasNinjas)来实现这一目的,但是console.log(hasNinjas)更容易使用。使用警报弹出一个模态对话框,阻止用户界面。
编辑:我同意巴蒂斯特·佩尔内特和扬·汉尼克的观点,检查窗口是一个非常好的主意。首先定义Console,以便在没有可用的控制台时代码不会中断。
jQuery没有什么可做的,如果你想使用它,我建议你去做
if (window.console) {
console.log("your message")
}
因此,当代码不可用时,您不会破坏代码。
正如评论中所建议的,您也可以在一个地方执行该命令,然后正常使用console.log
if (!window.console) { window.console = { log: function(){} }; }
console.log将调试信息记录到某些浏览器(安装了Firebug的Firefox, Chrome, IE8,任何安装了Firebug Lite的浏览器)的控制台。在Firefox上,它是一个非常强大的工具,允许您检查对象或HTML元素的布局或其他属性。它与jQuery无关,但在使用jQuery时,通常会做两件事:
为Firebug安装firerequery扩展。除了其他优点外,这使得jQuery对象的日志记录看起来更好。 创建一个更符合jQuery链接代码约定的包装器。
这通常是这样的意思:
$.fn.log = function() {
if (window.console && console.log) {
console.log(this);
}
return this;
}
你可以调用它,比如
$('foo.bar').find(':baz').log().hide();
轻松检查jQuery链内部。
您可以使用它在Firefox的Firebug或WebKit浏览器的JavaScript控制台中调试JavaScript代码。
var variable;
console.log(variable);
它将显示变量的内容,即使它是一个数组或对象。
它类似于print_r($var);PHP。
如果使用Firebug等工具检查代码,则可以查看记录到控制台的任何消息。假设你这样做:
console.log('Testing console');
当您访问Firebug(或您决定使用的任何工具来检查代码)中的控制台时,您将看到您告诉函数要记录的任何消息。当您想要查看函数是否正在执行,或者变量是否被正确传递/赋值时,这特别有用。实际上,它对于找出代码中的错误是很有价值的。
它会发布一个日志消息到浏览器的javascript控制台,例如Firebug或开发者工具(Chrome / Safari),并将显示执行它的行和文件。
此外,当你输出一个jQuery对象时,它会在DOM中包含对该元素的引用,点击它就会在Elements/HTML选项卡中找到该元素。
您可以使用各种方法,但要注意,要在Firefox中工作,必须打开Firebug,否则整个页面将崩溃。无论你记录的是一个变量、数组、对象还是DOM元素,它都会给你一个完整的分解,包括对象的原型(总是有趣的)。您还可以包含任意数量的参数,它们将被空格替换。
console.log( myvar, "Logged!");
console.info( myvar, "Logged!");
console.warn( myvar, "Logged!");
console.debug(myvar, "Logged!");
console.error(myvar, "Logged!");
每个命令都显示不同的标识。
你也可以使用console.profile(profileName);开始分析一个函数,脚本等。然后用console.profileEnd(profileName)结束它;它会显示在你的Chrome配置文件选项卡(不知道与FF)。
要获得完整的参考,请访问http://getfirebug.com/logging,我建议您阅读它。(跟踪、组、分析、对象检查)。
希望这能有所帮助!
log是开发人员编写代码的一种方法,它可以不引人注目地通知开发人员代码正在做什么。它可以用来提醒您存在问题,但在调试代码时不应该取代交互式调试器。它的异步性质意味着记录的值不一定代表调用方法时的值。
简而言之:使用console.log(如果可用)记录错误,然后使用您选择的调试器:Firebug, WebKit开发工具(Safari和Chrome内置),IE开发工具或Visual Studio修复错误。
注意:在您的产品代码中保留对控制台的调用将导致您的站点在Internet Explorer中崩溃。永远不要打开包装。参见:https://web.archive.org/web/20150908041020/blog.patspam.com/2009/the-curse-of-consolelog
当我开始console.log进行调试时,我真的觉得web编程很容易。
var i;
如果我想检查i运行时的值..
console.log(i);
您可以在firebug的console选项卡中检查I的当前值。它是专门用于调试。
举个例子——假设你想知道哪行代码可以运行你的程序(在它崩溃之前!),只需输入
console.log("You made it to line 26. But then something went very, very wrong.")
可以查看控制台的地方!把它们都放在一个答案里。
火狐
http://getfirebug.com/
(你现在也可以使用Firefox内置的开发工具Ctrl+Shift+J (tools > Web developer > Error Console),但Firebug要好得多;使用Firebug)
Safari和Chrome浏览器
基本一样。
https://developers.google.com/chrome-developer-tools/docs/overview
https://developer.apple.com/technologies/safari/developer-tools.html
Internet Explorer
别忘了你可以在IE9或IE10中使用兼容性模式来调试IE7和IE8
http://msdn.microsoft.com/en-us/library/ie/gg589507 (v = vs.85) . aspx
http://msdn.microsoft.com/en-us/library/dd565628 (v = vs.85) . aspx
如果你必须在IE7中访问IE6的控制台,请使用Firebug Lite书签
http://getfirebug.com/firebuglite/寻找稳定的bookmarklet
http://en.wikipedia.org/wiki/Bookmarklet
歌剧
http://www.opera.com/dragonfly/
iOS
适用于所有iphone, iPod touch和ipad。
http://developer.apple.com/library/ios/ipad/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.html
现在,在iOS 6中,你可以在OS X中通过Safari查看控制台,只要你插入你的设备。或者你也可以使用模拟器,简单地打开Safari浏览器窗口,然后转到“开发”选项卡。在那里,您可以找到让Safari检查器与您的设备通信的选项。
Windows Phone, Android
它们都没有内置控制台,也没有书签功能。所以我们用 http://jsconsole.com/类型:听,它会给你一个脚本标签放在你的HTML。从那时起,您可以在jsconsole网站中查看您的控制台。
iOS和Android
您还可以使用http://html.adobe.com/edge/inspect/访问web检查器工具和任何设备上的控制台,使用他们方便的浏览器插件。
旧的浏览器问题
最后,如果你使用console.log登录代码,而没有同时打开开发工具,旧版本的IE会崩溃。幸运的是,这很容易解决。在你的代码顶部使用下面的代码片段:
if(!window.console){ window.console = {log: function(){} }; }
这将检查控制台是否存在,如果不存在,则将其设置为一个带有名为log的空白函数的对象。这边的窗户。Console和window.console.log从来不是真正未定义的。
A point of confusion sometimes is that to log a text message along with the contents of one of your objects using console.log, you have to pass each one of the two as a different argument. This means that you have to separate them by commas because if you were to use the + operator to concatenate the outputs, this would implicitly call the .toString() method of your object. This in most cases is not explicitly overriden and the default implementation inherited by Object doesn't provide any useful information.
在控制台尝试的例子:
>>> var myObj = {foo: 'bar'}
undefined
>>> console.log('myObj is: ', myObj);
myObj is: Object { foo= "bar"}
然而,如果你试图连接信息文本消息与对象的内容,你会得到:
>>> console.log('myObj is: ' + myObj);
myObj is: [object Object]
请记住,console。log实际上可以接受任意多的参数。
在早期,JS调试是通过alert()函数执行的——现在这是一种过时的做法。
console.log()是一个函数,它在调试控制台(如Webkit或Firebug)上写入一条消息以记录日志。在浏览器中,你在屏幕上看不到任何东西。它将一条消息记录到调试控制台。它只在带有Firebug的Firefox和基于Webkit的浏览器(Chrome和Safari)中可用。它在所有IE版本中都不能很好地工作。
控制台对象是DOM的扩展。
console.log()应该仅在开发和调试期间在代码中使用。
将console.log()留在生产服务器上的javascript文件中被认为是一种坏习惯。
除了上面提到的用法,console.log也可以在node.js中打印到终端。使用express(例如)创建的服务器可以使用console.log写入输出记录器文件。
如果您的浏览器支持调试,您可以使用console.log()方法来显示JavaScript值。
用F12激活浏览器中的调试,并在调试器菜单中选择“控制台”。
JavaScript中的控制台。尝试修复或“调试”一个不起作用的JavaScript程序,并练习使用console.log()命令。根据你所使用的浏览器,有一些快捷方式可以帮助你访问JavaScript控制台:
Chrome控制台键盘快捷键
Windows操作系统:Ctrl + Shift + J Mac: Cmd + Option + J
Firefox控制台键盘快捷键
Windows: Ctrl + Shift + K Mac: Cmd + Option + K
Internet Explorer控制台键盘快捷键
F12键
Safari控制台键盘快捷键
Cmd + Option + C
在java脚本中,没有输入和输出函数。因此使用console.log()方法来调试代码。它是一种日志记录方法。它将在控制台日志(开发工具)下打印。
在打开IE开发工具之前,它不会出现在IE8及以下版本。
这与jQuery无关。console.log()引用控制台对象的日志函数,该函数提供了将信息记录到浏览器控制台的方法。这些方法仅用于调试目的,不应依赖于将信息呈现给最终用户。
引用MDN文档
控制台-包含许多你可以调用来执行的方法 基本的调试任务,通常集中在各种日志记录上 值发送到浏览器的Web控制台。 到目前为止,最常用的方法是使用console.log 记录特定变量中包含的当前值。
如何使用Javascript?
let myString = 'Hello World';
console.log(myString);
还要记住控制台是web浏览器全局窗口对象的一部分。因此,以下内容在技术上也是正确的,但在实际场景中没有使用。
let myString = 'Hello World';
window.console.log(myString);
我试着用简单的方式解释:
为什么可用:
console.log()方法将一条消息写入控制台并显示它。
~对于测试目的非常有用。
~在脚本标记下/内部使用它们。
怎么看:
= >按F12
语法:
Console.log(要显示的消息);
~接受一个参数并显示它。
使用Array:
var myArray = [“Ali”, “John”, “Shahrukh”]; console.log(myArray);
使用对象:
var myObject = {firstname: "Ali", lastname: "Rana"}; console.log (myObject);
使用文本:[方法1]:
console.log(“你好StackOverflow”);
使用文本:[方法2]
var str = “Hello StackOverflow”; console.log(str);
与数字打交道:
var myvar = '2'; console.log(myvar);
工作功能:
函数myfunction(){返回(5 * 19);} console.log(函数());
显示带有参数的消息:
Var a = 2; console.log(" a的值是" + a);
希望,也许会有所帮助。
console.log()是JavaScript中的一个函数,用于打印之前在其中定义的任何类型的变量,或者只是打印需要显示给用户的任何消息。
如代码:
function func() { return (5 * 18); }
console.log(func());
IMG:
输出:
console.log():这个方法是众所周知的,也是最常见的,它可以输出任何类型的任何内容。传递字符串,数字,对象甚至html元素作为参数,它将为您打印相同的内容。
Ex.
console.log('Your print statements here!');
console.log('2nd parameter is type object', {type: 'object'});
console.log('can print with multiple parameters', 100001, {type: 'object'});
从这里找到更多关于控制台的例子:控制台
Console.log()用于开发人员记录输出信息。
您还有如下所示的其他控制台方法
console.assert ()
//如果第一个参数为假,记录消息和堆栈跟踪到控制台。
console.clear ()
//清除控制台。
console.count ()
//记录使用给定标签调用该行的次数。
控制台countReset()。
//重置带有给定标签的计数器的值。
console.debug ()
//输出消息到控制台,日志级别为debug。
控制台dir()。
//显示指定JavaScript对象属性的交互式列表。这个清单允许您使用公开三角形来检查子对象的内容。
控制台dirxml()。
//如果可能,显示指定对象的XML/HTML元素表示;如果不可能,显示JavaScript对象视图。
console.error ()
//输出错误信息。您可以在此方法中使用字符串替换和附加参数。
console.exception ()
/ /非标准 // error()的别名。
console.group ()
//创建一个新的内联组,将输出后面的所有内容缩进另一层。要后退一层,调用groupEnd()。
console.groupCollapsed ()
//创建一个新的内联组,将输出后面的所有内容缩进另一层。但是,与group()不同的是,它从内嵌组开始折叠,需要使用一个公开按钮来展开它。要后退一层,调用groupEnd()。
console.groupEnd ()
//退出当前内联组。
console.info ()
//信息记录。您可以在此方法中使用字符串替换和附加参数。
console.log ()
//日志信息的一般输出。您可以在此方法中使用字符串替换和附加参数。
console.profile ()
/ /非标准 //启动浏览器内置的分析器(例如,Firefox性能工具)。您可以为概要文件指定一个可选的名称。
控制台profileEnd()。
/ /非标准 //停止分析器。您可以在浏览器的性能工具(例如,Firefox性能工具)中看到生成的概要文件。
console.table ()
//将表格数据显示为表。
console.time ()
//使用指定的名称作为输入参数启动计时器。在给定的页面上可以同时运行多达10,000个计时器。
console.timeEnd()
//停止指定的计时器,并以毫秒为单位记录从它启动以来经过的时间。
控制台timeLog()。
//将指定定时器的值记录到控制台。
console.timeStamp ()
/ /非标准 //添加一个标记到浏览器的时间轴或瀑布工具。
console.trace ()
//输出堆栈跟踪。
console.warn ()