我正在为谷歌的 webgl-utils.js 创建一个d.ts文件
我对全局对象中的方法是“猴子补丁”的最后一行有疑问(我认为这是正确的术语)
问题行如下:
/**
* Provides requestAnimationFrame in a cross browser way.
*/
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function FrameRequestCallback */ callback, /* DOMElement Element */ element) {
window.setTimeout(callback, 1000/60);
};
})();
我将如何在我的打字稿文件中声明它,以便在使用该函数时不会出现编译错误:
function tick()
{
requestAnimFrame(tick);
drawScene();
}
我现在尝试过:
interface window
{
requestAnimFrame(): any;
}
但这并不能消除错误:
The name 'requestAnimFrame' does not exist in the current scope