我正在尝试修改框架JavaScript的某些行为。在 View source 下拉列表中的IE10开发人员工具中,有一个名为 Dynamic Scripts 的文件夹。 (也许有人可以解释动态脚本是什么?)并且功能代码(1089)下面有以下代码
这是代码:
function anonymous() {
var f=arguments.callee; return f._func.apply(f._owner, arguments);
}
调用堆栈的第一个条目是
Function code, Function code (1089), line 2
此行多次执行。但我不知道为什么。
谁叫这行?
答案 0 :(得分:0)
anonymous
函数调用并不意味着名为anonymous
的函数。它实际上是一个用于对未命名函数进行分类的名称,如下所示:
var anUnnamedFunc = function() {
return true;
};
如果您在监视或控制台输出中引用了此函数,它将被转储为匿名函数。要定义非匿名函数,可以使用:
var aNamedFunc = function namedFunction() {
return true;
};
有问题的函数看起来很像bind
函数。这是一个包装函数,用于创建一个将参数和/或上下文绑定到另一个函数的函数。但是,此版本使用某种私有属性机制来绑定参数:
var bind = function() {
var f = arguments.callee;
return f._func.apply(f._owner, arguments);
};
我实际上看不到这种函数会用于什么,所以想知道它是否只是IE调试器的异常。尝试使用其他浏览器,看看该功能是否出现在配置文件报告中。