Arguments.callee已过时-应该改用什么?

对于做类似的事情

setTimeout(function () {

...

setTimeout(arguments.callee, 100);

}, 100);

我需要类似的东西arguments.callee。我在javascript.info中发现了arguments.callee已弃用的信息:

命名函数表达式并获得更好的性能。

像这样吗

setTimeout(function myhandler() {

...

setTimeout(myhandler, 100);

}, 100);

// has a big advantage that myhandler cannot be seen here!!!

// so it doesn't spoil namespace

顺便说一句,arguments.callee跨浏览器兼容吗?

回答:

是的,理论上 应该 使用。你是对的。但是,它不能像以往一样在某些版本的Internet Explorer中工作。所以要小心

您可能需要依靠arguments.callee,或者更简单地说:

function callback() {

// ...

setTimeout(callback, 100);

}

setTimeout(callback, 100);

在IE上有效。

以上是 Arguments.callee已过时-应该改用什么? 的全部内容, 来源链接: utcz.com/qa/407407.html

回到顶部