javascript - 为什么下面的js代码不起作用?

标签 javascript window requestanimationframe

代码

var x = {};

x.request = window.requestAnimationFrame;

function step(timestamp) {

    console.log('sth');
}

x.request(step);

它返回:

NS_ERROR_XPC_BAD_OP_ON_WN_PROTO: Illegal operation on WrappedNative prototype object

它应该使 x.request 与 window.requestAnimationFrame 一样工作。 我需要它,因为我想做类似的东西:

x.request = window.requestAnimationFrame
                ||
            window.webkitRequestAnimationFrame
                ||
            window.mozRequestAnimationFrame;

最佳答案

尝试

x.request.call(window, step);

这将确保 thiswindow

关于javascript - 为什么下面的js代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843503/

相关文章:

javascript - Angularjs 使用 id 获取属性

javascript - 从子窗口中删除亲子关系

javascript - 你必须取消requestAnimationFrame吗

javascript - 使用范围 slider 更改 div 的高度

javascript - 将两个 Promise 的结果输出到单个对象中

javascript - 如何从 React 中的另一个静态方法调用静态方法?

javascript - 在调整窗口大小时向元素添加类

window - 安装如何进行?

javascript - 如何正确添加到使用 requestAnimationFrame 不断更新的变量

javascript - requestAnimationFrame/cancelAnimationFrame的正确使用