javascript - 为什么 `toString` 不等于 `window.toString` ?

标签 javascript console global-variables firebug

我相信所有全局变量都可以从全局对象访问。因此,如果我可以访问 x(并且 x 未在本地绑定(bind)),则 window.x 是相同的值。

但是,在网页中 ( on JSFiddle ):

window === this // true in Chrome and Firefox
toString === window.toString // true in Chrome and Firefox

但是在控制台中:

window === this // true in Chrome console and Firebug, false in Firefox web console
toString === window.toString // false in Chrome, Firebug and Firefox web console

这是为什么?为什么 window 是 Chrome 控制台中的全局对象,而 toString 没有绑定(bind)到 window.toString? Firefox 控制台中绑定(bind)的 toString 是什么?控制台中还有哪些其他全局值不同?

最佳答案

toString 不是全局变量。这是几乎所有对象共享的方法,包括 window 对象。

始终window 对象上可用的实际全局变量。

关于javascript - 为什么 `toString` 不等于 `window.toString` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160211/

相关文章:

javascript - Node js Express.编译错误

c++ - 是否可以 Hook 子进程发送到 Windows 控制台的消息?

javascript - 为什么函数在全局声明变量而不是 var 时起作用

javascript - Jquery 中的去抖动功能?

javascript - 通过特定键的值在多个数组中查找对象

C 如何改变单词的颜色

angularjs - 如何在 Angularjs 模板中访问常量

ios - 在 Objective-C 中,如何在 View Controller 中的函数之间共享数据?

javascript - Google Cloud Functions - 通过 HTTP 上传到 Google Cloud Storage

Java:如何执行未附加到 Windows 控制台的进程?