對於做這樣的事情Arguments.callee已棄用 - 應該使用什麼?
setTimeout(function() {
...
setTimeout(arguments.callee, 100);
}, 100);
我需要這樣的東西arguments.callee
。我發現information at javascript.info是arguments.callee
被棄用:
此屬性由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
跨瀏覽器兼容?
對於WH值得:[命名函數表達式揭祕](http://kangax.github.com/nfe/)。 – sdleihssirhc
是的,你應該命名你的函數並在setTimeout中使用它的名字。 – kubetz
[爲什麼在JavaScript中不推薦使用arguments.callee.caller屬性?](http://stackoverflow.com/questions/103598/why-was-the-arguments-callee-caller-property-deprecated-in- javascript) – cHao