有很多地方(例如 How to use requestAnimationFrame? )修复了 window.requestAnimationFrame
如下。我不明白为什么赋值的右侧包含在函数调用中。
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){
window.setTimeout(callback, 1000 / 60);
};
})();
最佳答案
我以前也想过同样的事情。我很确定 Google 真的很喜欢闭包。假设其中没有一个变量,这是一件“安全”的事情。
据我所知,这是完全相同的事情,没有任何干扰 namespace 的变化(使用这样的闭包的一般原因):
window.requestAnimFrame =
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){
window.setTimeout(callback, 1000 / 60);
};
关于javascript - 请解释这个 requestAnimationFrame 成语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237471/