javascript – 可以覆盖window.console吗?它是只读的吗?

我在 javascript中使用控制台对象进行调试,并希望覆盖它以便在移动浏览器中使用此类功能.

但是,我无法理解以下MDN文档

The Window.console read-only property returns a reference to the
Console object,which provides methods for logging information to the
browser’s console.

(https://developer.mozilla.org/en-US/docs/Web/API/Window/console)

特别是:

>我无法做出真正的Window接口的头部或尾部,但它似乎与全局窗口属性不同
>测试显示(在当前的Chromium和Firefox中)window.console确实可以覆盖事件,尽管它似乎与我在文档中读到的内容相矛盾. (这种覆盖的一个例子提供了this answer;即使注释对象有

You can’t use window.console = { … } because window.console is a
read-only property ! – Luillyfe Feb 23 at 21:28

Window.console或window.console的只读权限是什么?

解决方法

它不是只读的. MDN是一个很好的资源,但它由社区编辑,有时会出现错误或无源声明.

  1. I cannot make head’s or tails’ of what actually is the Window interface,but it seems to be different to the global window property

界面窗口定义浏览器中窗口对象上可用的属性和方法,可通过默认窗口全局变量获得.您可以将其视为:var window = new Window()虽然当然不是真的.

  1. … What is it with the read-only-ness of Window.console or window.console ?

它不是只读的.

>理论:Window interface根本没有提到控制台,但console spec说它是窗口上暴露的命名空间对象. WebIDL规范说namespace objects默认是可写,可配置和不可枚举的. (谢谢sideshowbarker指出那个!)
>练习:它在我尝试过的每个浏览器上都可写(Chrome,Firefox,Safari,IE9,IE11,Edge).在除了IE11之外的所有这些中,控制台是对象窗口所指的“自有”属性,并且分配给它工作(在松散和严格模式下). (IE11是奇怪的鸭子:当devtools关闭时,控制台不是窗口的属性,但是它的类型是“对象”,如果你记录String(控制台),结果是“[object Console]”.但是当devtools是打开,它是窗口的自有属性而不是只读.)

我已经更新了MDN页面,删除了该句子的“只读”部分.

我不是说用其他东西替换控制台是一个好主意. :-)但是请注意,如果你选中了“显示控制台”选项(默认情况下是这样),那么SO自己的堆栈片段就是这样做的.

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

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)