对于像这样的事情
setTimeout(function () {
...
setTimeout(arguments.callee, 100);
}, 100);
我需要类似于arguments.callee
的东西。我在javascript.info上找到了相关信息,它已经被ECMA-262弃用:
出于更好的性能和支持命名函数表达式的考虑,这个属性已经被标记为过时。
那么应该使用什么代替呢? 类似于这样吗?
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
在所有浏览器中都兼容吗?