arguments.callee异常 - UEditor

UEditor部分递归操作使用arguments.callee,ECMAScript (ES5) 禁用了此特性,成为一个bug。

解决办法:直接改成递归调用。

arguments.callee示例:

var fun = function (recursed) {
  if (!recursed) { 
		return arguments.callee(true);
 }
 if (this !== global) {
    alert("This is: " + this);
  } else {
    alert("This is the global");
  }
}
fun();

Fixed示例:

var fun = function (recursed) {
  if (!recursed) { 
		return fun(true);
 }
 if (this !== global) {
    alert("This is: " + this);
  } else {
    alert("This is the global");
  }
}
fun();