Javascript 创建对 native 函数的引用

标签 javascript

我编写的这段代码(这是一个片段)似乎不起作用。我已将其隔离到此处。

grab = window.document.getElementById;
grab("blueBox") // i.e. grab("blueBox").onclick [...]

是否可以在 JavaScript 中创建对 native 函数的引用。我正在对抓取的元素做一些事情,例如我只是将其遗漏了。抓取功能好像不起作用。

我使用的是 FireFox 的最新版本

最佳答案

您这样做的方式会扰乱函数的 this 值的分配。

grab = window.document.getElementById;
grab("blueBox") // i.e. grab("blueBox").onclick [...]

这里this将是global对象。尝试:

grab.apply(window.document, ["blueBox"])

或在较新的浏览器中:

grab = window.document.getElementById.bind(window.document);

直接定义this是什么。

关于Javascript 创建对 native 函数的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9716389/

相关文章:

javascript - "Red or blue"点击游戏得分计数器

javascript - 在 'Access-Control-Allow-Origin' 设置为 '*' 的 connectjs 中提供静态文件

javascript - 将 .ready 和 .resize 链接到函数中?

javascript - 如何发送带有链接的 $POST ?用java或任何合适的东西?

javascript - "Long frame times are an indication of jank"

javascript - 当 items 是数组时,React items.map 不是函数?

javascript - 为什么鼠标事件不起作用

javascript - 以 JSON 形式返回字典并使用 JS 函数成功访问其内容 - C#

javascript - 如何在 React Native + Redux 中使用 NavigationStateUtils 实现 Navigator.replace?

javascript - 将 kml 转换为 geojson 时出错