我正在分析我正在阅读的书中的一些代码,其中有一小部分让我有点困惑:
//... some code
setTimeout(function(){
//...some code
if(some condition)
setTimeout(arguments.callee, 0);
}, 0);
让我有点困惑的是,同一本书提到“被调用者”属性已被弃用,除非绝对必要,否则不应使用它(我在解释)。所以我想知道这是否是其中一种情况,或者是否有更好的方法来完成递归调用。我在互联网上的某个地方读到以下内容可能会完成同样的事情:
//... some code
setTimeout(function myRecursiveFunction(){
//...some code
if(some condition)
setTimeout(myRecursiveFunction, 0);
}, 0);
它是否正确?还有更好的方法来解决这个问题吗?继续使用arguments.callee是否安全且可以?
谢谢你的澄清。