给 Chrome Console 加一个 cls 清屏命令

一篇简单介绍 Object.defineProperty 的文章,因为我基本上没用过该方法..


开发中常常需要用到 Chrome 控制台,有的网站会在控制台中打印很多对我们来说无效的信息,比如蓝湖网站:

给 Chrome Console 加一个 cls 清屏命令

有的时候,在控制台运行一些脚本后,我们也想清空它们,以保持界面清洁。

清空的方式通常不外乎以下3种:

  1. 点击控制台左上角的 Clear console 图标:
给 Chrome Console 加一个 cls 清屏命令
  1. 通过快捷键 CTRL LCMD K
  2. 在控制台输入清屏语句 clear()console.clear()
给 Chrome Console 加一个 cls 清屏命令
clear()执行效果

本文针对第3种进行一下扩展,实现一种模仿 DOScls 命令。


你可能已经知道,Windows系统DOS 窗口的清屏命令是 cls,那如何实现在 Chrome Console 下输入 cls 也能达到清屏的目的?

JavaScript 中存在一个不常用但异常强大的方法 Object.defineProperty(),借助它事情就好办了:

Object.defineProperty(window"cls", {
  get() {
    console.clear();
  },
});

上述语句的效果是,当我们在控制台访问 cls, 会自动执行 console.clear() 方法:

给 Chrome Console 加一个 cls 清屏命令

原因是,当我们访问 `cls` 时,相当于访问了 `window.cls`,而后者会去执行 `console.clear`。

如果想在页面加载完成后自动注入 cls 定义语句,可以借助 Tampermonkey 插件,请自行学习。



由上可知,Object.definePropery 可以将简单的属性访问变成方法调用(当然,它的能力不仅如此),这打开了很多想像,以后有机会时再深入介绍。

– END –


原文始发于微信公众号(背井):给 Chrome Console 加一个 cls 清屏命令

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/246827.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!