2013-08-29 173 views
0

我想修改框架的JavaScript的一些行为。在IE10的开发者工具下查看源码下拉,有一个名为的文件夹动态脚本。 (也许有人能说明什么动态脚本是?),有下功能代码(1089)下面的代码
这是代码:为什么这个函数被调用?

function anonymous() { 
var f=arguments.callee; return f._func.apply(f._owner, arguments); 
} 

而调用堆栈的第一项是

Function code, Function code (1089), line 2 

这条线被执行几次。但我不知道为什么。

谁叫这条线?

+0

你在修改什么框架?该功能的文件是什么? –

+0

它似乎不在任何文件中。该框架是“Oracle ADF”。 –

回答

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调试器的异常。尝试使用其他浏览器并查看该功能是否显示在配置文件报告中。

相关问题