js基础速成13-Console 对象方法

news/2024/10/9 8:36:25/

Console 对象方法

在本节中,我们将介绍 console 及其对象方法。对于绝对初学者来说,通常不知道该使用 console.log()document.write() 还是 document.getElementById()

我们使用 console 对象的方法在浏览器控制台显示输出,使用 document.write 在浏览器文档(视口)上显示输出。这两种方法仅用于测试和调试目的。console 方法是浏览器上最流行的测试和调试工具。当我们希望使用 JavaScript 与 DOM 交互时,会使用 document.getElementById()。我们将在另一节中介绍 DOM。

除了著名的 console.log() 方法,console 还提供了其他更多方法。

console.log()

我们使用 console.log() 在浏览器控制台显示输出。我们可以替换值,也可以使用 %c 来设置日志输出的样式。

  • 在浏览器控制台显示输出

    console.log('30 Days of JavaScript')
    
    30 Days of JavaScript
    
  • 替换

    console.log('%d %s of JavaScript', 30, 'Days')
    
    30 Days of JavaScript
    
  • CSS

    我们可以使用 CSS 来设置日志消息的样式。复制以下代码并粘贴到浏览器控制台以查看结果。

    console.log('%c30 Days Of JavaScript', 'color:green') // 日志输出为绿色
    console.log('%c30 Days%c %cOf%c %cJavaScript%c','color:green','','color:red','','color:yellow'
    ) // 日志输出为绿色、红色和黄色文本
    

console.warn()

我们使用 console.warn() 在浏览器上发出警告。例如,通知或警告某个包的版本已弃用或存在不良实践。复制以下代码并粘贴到浏览器控制台以查看警告消息。

console.warn('This is a warning')
console.warn('You are using React. Do not touch the DOM. Virtual DOM will take care of handling the DOM!'
)
console.warn('Warning is different from error')

console.error()

console.error() 方法显示错误消息。

console.error('This is an error message')
console.error('We all make mistakes')

console.table()

console.table() 方法在控制台中以表格形式显示数据。它将表格数据以表格形式显示。console.table() 接受一个必需的参数 data,它必须是数组或对象,以及一个可选的额外参数 columns

让我们首先从一个简单的数组开始。以下代码显示一个包含两个列的表格:一个索引列用于显示索引,一个值列用于显示名称。

const names = ['Asabeneh', 'Brook', 'David', 'John']
console.table(names)

让我们也看看对象的结果。这将创建一个包含两个列的表格:一个索引列包含键,另一个值列包含对象的值。

const user = {name: 'Asabeneh',title: 'Programmer',country: 'Finland',city: 'Helsinki',age: 250
}
console.table(user)

通过复制并粘贴以下代码到浏览器控制台,查看更多示例。

const countries = [['Finland', 'Helsinki'],['Sweden', 'Stockholm'],['Norway', 'Oslo']
]
console.table(countries)
const users = [{name: 'Asabeneh',title: 'Programmer',country: 'Finland',city: 'Helsinki',age: 250},{name: 'Eyob',title: 'Teacher',country: 'Sweden',city: 'London',age: 25},{name: 'Asab',title: 'Instructor',country: 'Norway',city: 'Oslo',age: 22},{name: 'Matias',title: 'Developer',country: 'Denmark',city: 'Copenhagen',age: 28}
]
console.table(users)

console.time()

console.time() 启动一个计时器,用于跟踪操作所需的时间。您为每个计时器指定一个唯一的名称,并且在给定页面上最多可以运行 10,000 个计时器。当您使用相同的名称调用 console.timeEnd() 时,浏览器将输出自计时器启动以来经过的时间(以毫秒为单位)。

const countries = [['Finland', 'Helsinki'],['Sweden', 'Stockholm'],['Norway', 'Oslo']
]console.time('Regular for loop')
for (let i = 0; i < countries.length; i++) {console.log(countries[i][0], countries[i][1])
}
console.timeEnd('Regular for loop')console.time('for of loop')
for (const [name, city] of countries) {console.log(name, city)
}
console.timeEnd('for of loop')console.time('forEach loop')
countries.forEach(([name, city]) => {console.log(name, city)
})
console.timeEnd('forEach loop')
Finland Helsinki
Sweden Stockholm
Norway Oslo
Regular for loop: 0.34716796875ms
Finland Helsinki
Sweden Stockholm
Norway Oslo
for of loop: 0.26806640625ms
Finland Helsinki
Sweden Stockholm
Norway Oslo
forEach loop: 0.358154296875ms

根据上述输出,常规的 for 循环比 for offorEach 循环慢。

console.info()

它在浏览器控制台显示信息消息。

console.info('30 Days Of JavaScript challenge is trending on Github')
console.info('30 Days Of fullStack challenge might be released')
console.info('30 Days Of HTML and CSS challenge might be released')

console.assert()

console.assert() 方法如果断言为假,则向控制台写入错误消息。如果断言为真,则不执行任何操作。第一个参数是断言表达式。如果该表达式为假,则会显示“Assertion failed”错误消息。

console.assert(4 > 3, '4 is greater than 3') // 没有结果
console.assert(3 > 4, '3 is not greater than 4') // Assertion failed: 3 is not greater than 4for (let i = 0; i <= 10; i += 1) {let errorMessage = `${i} is not even`console.log('the # is ' + i)console.assert(i % 2 === 0, { number: i, errorMessage: errorMessage })
}

console.group()

console.group() 可以帮助分组不同的日志。复制以下代码并粘贴到浏览器控制台以查看分组效果。

const names = ['Asabeneh', 'Brook', 'David', 'John']
const countries = [['Finland', 'Helsinki'],['Sweden', 'Stockholm'],['Norway', 'Oslo']
]
const user = {name: 'Asabeneh',title: 'Programmer',country: 'Finland',city: 'Helsinki',age: 250
}
const users = [{name: 'Asabeneh',title: 'Programmer',country: 'Finland',city: 'Helsinki',age: 250},{name: 'Eyob',title: 'Teacher',country: 'Sweden',city: 'London',age: 25},{name: 'Asab',title: 'Instructor',country: 'Norway',city: 'Oslo',age: 22},{name: 'Matias',title: 'Developer',country: 'Denmark',city: 'Copenhagen',age: 28}
]console.group('Names')
console.log(names)
console.groupEnd()console.group('Countries')
console.log(countries)
console.groupEnd()console.group('Users')
console.log(user)
console.log(users)
console.groupEnd()

console.count()

它打印 console.count() 被调用的次数。它接受一个字符串标签参数。它非常有助于统计函数被调用的次数。在以下示例中,console.count() 方法将运行三次。

const func = () => {console.count('Function has been called')
}
func()
func()
func()
Function has been called: 1
Function has been called: 2
Function has been called: 3

console.clear()

console.clear() 清空浏览器控制台。

console.clear()

http://www.ppmy.cn/news/1536553.html

相关文章

目标检测or实例分割中AP、MAP的计算

参考链接&#xff1a; 目标检测中AP、MAP的计算_51CTO博客_目标检测map计算 举个例子&#xff1a;

gbase8s数据库实现黑白名单的几种方案

1、借用操作系统的黑白名单 2、使用数据库 TRUSTED CONTEXT 机制 CREATE TRUSTED CONTEXT tcx1USER rootATTRIBUTES (ADDRESS 172.16.39.162)ATTRIBUTES (ADDRESS 172.16.39.163)ENABLEWITH USE FOR wangyx WITHOUT AUTHENTICATION; 如上创建 可信任上下文对象 tcx1 在 jdb…

如何用python抓取豆瓣电影TOP250

1.如何获取网站信息&#xff1f; &#xff08;1&#xff09;调用requests库、bs4库 #检查库是否下载好的方法&#xff1a;打开终端界面&#xff08;terminal&#xff09;输入pip install bs4, 如果返回的信息里有Successfully installed bs4 说明安装成功&#xff08;request…

时间卷积网络(TCN)原理+代码详解

目录 一、TCN原理1.1 因果卷积&#xff08;Causal Convolution&#xff09;1.2 扩张卷积&#xff08;Dilated Convolution&#xff09; 二、代码实现2.1 Chomp1d 模块2.2 TemporalBlock 模块2.3 TemporalConvNet 模块2.4 完整代码示例 参考文献 在理解 TCN 的原理之前&#xff…

Java重修笔记 第六十三天 坦克大战(十三)IO 流 - ObjectInputStream 和 ObjectOutputStream、对处理流的细节整理

ObjectInputStream 类的常用方法 1. 写入字符串 public void writeUTF(String str) throws IOException 参数&#xff1a;str - 要写入的字符串 2. 序列化一个对象 public final void writeObject(Object obj) throws IOException 参数&#xff1a;obj - 要写入的对象 说明&a…

C++ static静态

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;C知识点的补充_Jason_from_China的博客-CSDN博客 概念概述 用 static 修饰的成员变量&#xff0c;称之为静态成员变量&#xff0c;静态成…

智能听诊器:守护宠物健康的新助手

在宠物的世界里&#xff0c;健康是它们幸福生活的基石。随着科技的发展&#xff0c;宠物健康管理也迎来了新的时代。智能听诊器&#xff0c;作为宠物健康管理的新伙伴&#xff0c;正逐渐成为宠物主人的得力助手。 实时监测&#xff0c;健康预警 智能听诊器的核心功能是实时监…

Hierarchical Cross-Modal Agent for Robotics Vision-and-Language Navigation

题目&#xff1a;用于视觉语言导航的层次化跨模态智能体 摘要 1. 问题背景和现有方法 VLN任务&#xff1a;这是一种复杂的任务&#xff0c;要求智能体基于视觉输入和自然语言指令进行导航。 现有方法的局限性&#xff1a;之前的工作大多将这个问题表示为离散的导航图&#x…