大家好,欢迎来到IT知识分享网。
控制台有两个全局的设置可以修改在通用的设置对话框内:
- Log XMLHTTPRequests—每一个完成的XMLHTTPRequest 请求显示在空台上.
- Preserve log upon navigation—页面刷新或跳转时不清除历史记录. 默认两个设置是不生效的.
也可以右击控制台内任意区域在弹出的文本菜单内设置.
Console API就是调试工具定义的全局对象console提供的方法集合.其中一个主要目的就是当你的应用运行时将日志信息(比如一个变量值,或者一个对象再或者DOM元素)输出到控制台.为了避免视觉混乱也可以有组织的输出到控制台.
控制台的书写
console.log() 方法可以传递一个或多个表达式作为参数,并且会输出他们的当前值到控制台.例如:
var a = document.createElement(‘p’);
a.appendChild(document.createTextNode(‘foo’));
a.appendChild(document.createTextNode(‘bar’));
console.log(“Node count: ” + a.childNodes.length);
通过”+”操作符将表达式连接到一起(如上所示),你可以放置每一个它自己的方法参数而且他们被连接成以空格分隔的行.
console.log(“Node count:”, a.childNodes.length, “and the current time is:”, Date.now());
错误和警告
[console.error()]( )方法会以一个红叉的图标和红色字体展示文本信息.
function connectToServer() {
console.error(“Error: %s (%i)”, “Server is not responding”,500);
}
connectToServer();
[console.warn()]( )方法会带有黄色图标展示文本信息.
if(a.childNodes.length < 3 ) {
console.warn(‘Warning! Too few nodes (%d)’, a.childNodes.length);
}
断言
[console.assert()]( )方法会在第一个参数值为false时抛出一个异常(第二个参数).比如下面的例子,当list元素的子节点个数大于500的时候会抛出一个错误信息到控制台.
console.assert(list.childNodes.length < 500, “Node count is > 500”);
控制台信息的过滤
通过严格的层级控制可以快速过滤控制台输出信息–错误,警告,或者标准日志信息–选择其中一个过滤选项.可以通过点击漏斗(如下所示)去选择一个你想要使用的条件.
过滤选项:
- All—展示所有控制台输出信息.
- Errors—仅展示从
console.error()的输出信息
- Warnings—仅展示从
console.warn()的输出信息
- Logs—仅展示从
console.log()
,console.info()
和console.debug()的输出信息
. - Debug—仅展示从
console.timeEnd()和其他控制台输出
.
组织化输出
在控制台使用[console.group()]( )和
groupEnd()命令可以在控制台显示输出一个嵌套块.“
var user = “jsmith”, authenticated = false;
console.group(“Authentication phase”);
console.log(“Authenticating user ‘%s’”, user); // authentication code here…
if (!authenticated) {
console.log(“User ‘%s’ not authenticated.”, user)
}
console.groupEnd();
多层嵌套也是可以的,在下面的示例中创建一个日志组登录过程的验证阶段.如果用户已验证,授权阶段将会创建一个嵌套组.
var user = “jsmith”, authenticated = true, authorized = true;// Top-level
groupconsole.group(“Authenticating user ‘%s’”, user);
if (authenticated) {
console.log(“User ‘%s’ was authenticated”, user); // Start nested group console.group(“Authorizing user ‘%s’”, user);
if (authorized) {
console.log(“User ‘%s’ was authorized.”, user);
} // End nested group
console.groupEnd();}// End top-level
groupconsole.groupEnd();
console.log(“A group-less log trace.”);
要创建一个默认收起的组,可以使用console.groupCollapsed()
.看下面的例子:
console.groupCollapsed(“Authenticating user ‘%s’”, user);
if (authenticated) {
…
}
字符串替换和格式化
任何一个传递给控制台的日志方法(例如log(),error())的第一个参数都可能包含一个或多个占位符.占位符由一个%和一个声明应该用于插入值类型的字母(比如%s 字符串).占位符会识别在哪替换后面提供的参数值.
下面的例子就是使用%s(字符串)和%d(整数)占位符来插入值到控制台输出中.
console.log(“%s has %d points”, “Sam”, “100”);
输出结果是”Sam has 100 points”
下面的表格就是一些占位符的信息:
| 占位符 | 描述 |
| — | — |
| %s
| 字符串. |
| %d
or %i
| 整数. |
| %f
| 浮点数. |
| %o
| dom元素的链接. |
| %O
| js对象的链接. |
| %c
| css格式字符串. |
下面的例子是用占位符%d将document的子节点数量式化为整数,用占位符%f将时间格式化为时间戳.
console.log(“Node count: %d, and the time is %f.”, document.childNodes.length, Date.now());
dom元素&JS对象
默认情况下,当你输出一个DOM元素到控制台显示为XML格式,如元素面板:
console.log(document.body.firstElementChild);
当然也可以使用console.dir()来显示对象的全部属性
console.dir(document.body.firstElementChild);
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
)]
[外链图片转存中…(img-LTDStbrk-08)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139684.html