console.log() 在控制台以外的对象上调用

2024-01-13

我记得总是当我想要通过时console.log作为某个函数的回调参数,除非我使用bind()绑定方法console to it.

例如:

const callWithTest = callback => callback('test');
callWithTest(console.log); // That didn't use to work.
callWithTest(console.log.bind(console)); // That worked (and works) fine.

See 未捕获的类型错误:javascript 中的非法调用 https://stackoverflow.com/q/8904782/3853934.

然而,最近我注意到console.log()即使在控制台以外的对象上调用也能正常工作。例如:

console.log.call(null, 'test');

logs 'test'.

它何时以及为何改变?规范中有相关说明吗?


控制台 API 编辑草稿 https://web.archive.org/web/20160404005430/https://github.com/DeveloperToolsWG/console-object/blob/master/api.md以前说:

日志 API 应该都是可调用函数,允许它们作为参数传递给错误处理回调、forEach 方法等。

这不再包含在规范的当前版本 https://console.spec.whatwg.org/.

我认为 Chrome 和 Node.js 将其更改为像规范中那样工作,但似乎在它之前就已经这样工作了。

我仍然很好奇它是什么时候改变的以及原因是什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

console.log() 在控制台以外的对象上调用 的相关文章

  • 如何使用 JavaScript 创建链接?

    我有一个标题字符串和一个链接字符串 我不知道如何将两者放在一起以使用 JavaScript 在页面上创建链接 任何帮助表示赞赏 我试图解决这个问题的原因是因为我有一个 RSS 源并且有一个标题和 URL 列表 我想将标题链接到 URL 以使
  • Eslint errorring 导入没有扩展名的 jsx

    我正在尝试在 es6 中导入 jsx 文件而不需要 jsx 扩展名 import LoginErrorDialog from LoginErrorDialogView Not import LoginErrorDialog from Log
  • IE从哪个版本开始支持Object.create(null)?

    您可以通过多种方式在 JavaScript 中创建对象 creates an object which makes the Object prototype of data var data1 new Object Object liter
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro

随机推荐

  • 列表索引更改多个元素

    我找不到任何与我的问题相匹配的内容 所以希望这还没有在某处提到过 我太愚蠢了 找不到它 thelist a 0 for i in range 5 thelist append a print thelist 此时程序返回 0 0 0 0 0
  • Django MEDIA_URL 和 MEDIA_ROOT

    我正在尝试通过 Django 管理上传图像 然后在前端页面或仅通过 URL 查看该图像 请注意 这一切都在我的本地计算机上 我的设置如下 MEDIA ROOT home dan mysite media MEDIA URL media 我已
  • 在 DataGridView 中隐藏行,绑定在我的项目中不起作用

    我面临一个有关项目中 DataGridView 行隐藏的问题 我粘贴的代码适用于单独的测试项目 但不适用于我的项目 请帮我解决这个问题 我正在测试的代码 public partial class frmTestGirdBinding For
  • 将行为附加到 Silverlight 中的所有文本框

    是否可以将行为附加到 Silverlight 应用程序中的所有文本框 我需要向所有文本框添加简单的功能 选择焦点事件上的所有文本 void Target GotFocus object sender System Windows Route
  • 在 Python 2 中编码转义字符而不杀死 Unicode 的正确方法是什么?

    我想我对 Python 的 unicode 字符串很着迷 我正在尝试对 Unicode 字符串中的转义字符进行编码without转义实际的 Unicode 字符 我得到这个 In 14 a u Example n In 15 b u n I
  • JQuery选择包含行中td内特定文本的所有行

    我有一个表 我试图选择其中包含文本 Test 的 td 的所有行 然后在所有匹配的行上隐藏带有 ms vb icon 类的 td 我最初有下面的代码 但这只隐藏了最后一个匹配行上的类 td contains test last parent
  • 在 Rails 中放置用户定义的类的位置

    我正在尝试使用这个类 http robbyonrails com articles 2005 05 11 parsing a rss feed http robbyonrails com articles 2005 05 11 parsin
  • 使用 restart=always 停止失败的容器

    我想停止一个无法重新启动的容器 它的状态是Restarting 该容器有restart always Doing docker stop
  • 使用本机脚本转换器

    我现在正在尝试使用 javascript 来连接 NativeScript 并有一个非常基本的问题 let costFormatter toView value console log Got value return value toMo
  • Delphi Indy 以西里尔文发送 POST 数据

    我想使用 indy 10 通过 delphi 发送西里尔文帖子数据 好吧 我知道如何发送数据 但是当我发送书面或西里尔文的内容时 发布数据响应带有一些编码符号 这是我的代码 http TIDHttp Create nil http Hand
  • 1900 年以来的日子

    我正在使用来自的数据Excel2007解析为PHPExcel http phpexcel codeplex com 日期显示为 1900 年以来的天数 我怎样才能转换为字符串YYYY MM DD 或类似的东西 像这样的事情 应该可以解决问题
  • 创建 BitBucket git 提交钩子?

    我刚刚将一个存储库从 GitHub 移植到 BitBucket 尽管它满足了许多要求 但我发现找到创建 git commit hook 的文档非常困难 最初 我在 CentOS 服务器上有一个由 GitHub 挂钩触发的 ruby 应用程序
  • React-native run-android 花费太多时间

    我在 Windows 上使用 React Native 已有 2 周了 但现在 在我的设备上运行我的应用程序需要太多时间 Scanning 835 folders for symlinks in D workspace react nati
  • Webgl 跨源图像不起作用

    我在跨源图像方面遇到了一些问题 希望您能提供帮助 这里是行为 我有 2 个域 例如 域名1 com 域名2 com 在domain1上我放了很多html5游戏 该域只是游戏的存储库 Domain2是真正的网站 wordpress网站 用户可
  • Celery 收到类型的未注册任务(运行示例)

    我正在尝试跑步example http ask github com celery getting started first steps with celery html id3来自芹菜文档 I run celeryd loglevel
  • Scanner vs. StringTokenizer vs. String.Split

    我刚刚了解了 Java 的 Scanner 类 现在我想知道它如何与 StringTokenizer 和 String Split 进行比较 竞争 我知道 StringTokenizer 和 String Split 只适用于字符串 那么为
  • 使用 Javascript 的无层 Web 框架?

    Links http links lang org是一种类似 Lisp 的函数式 Web 编程语言 框架 可以轻松编写一段代码 并将其编译为服务器端代码 客户端 JS 和 HTML 从而使编写 Web 应用程序变得更加容易 由于客户端和服务
  • Bootstrap Glyphicons 是如何工作的?

    我了解 CSS 和 HTML 的一些基础知识 有时会使用它们 但我不是专业人士 而且我很好奇 Bootstrap Glyphicons 的工作原理 我的意思是 Bootstrap zip 文件中没有图像 那么图像从哪里来呢 在 Bootst
  • 以实例变量和参数为键的 Spring 缓存

    我正在使用 ehcache 来缓存方法结果 键必须是成员对象和方法参数的组合 我的课程看起来像这样 Class A private B b Cacheable value someCache key some key based on B
  • console.log() 在控制台以外的对象上调用

    我记得总是当我想要通过时console log作为某个函数的回调参数 除非我使用bind 绑定方法console to it 例如 const callWithTest callback gt callback test callWithT