递归 arguments.callee.caller 死循环的问题

园子搜到的问题: http://www.cnblogs.com/jkisjk/archive/2012/06/01/2531004.html

和我的情况很相似。

我使用  getDoer 查找事件源,通过 arguments.callee.caller 递归查找,出现死循环的原因是: 我在函数中使用了递归,而且是在 $.each 里 ! 也就是 caller链中有时会有闭环

 

方案:

1.把 $.each 改为 for

2.在 递归调用自己的方法,添加最后的参数: { originalEvent: true, target: jv.GetDoer() }

 

另外:

在FireFox 下,如果 函数头部有如下代码:

"use strict";


则会报:  access to strict mode caller function is censored

很奇怪的问题,去掉 "use strict";  就好了,换成其它字符串也没有问题。

posted @ 2012-09-26 10:41  NewSea  阅读(659)  评论(0编辑  收藏  举报