caller返回一个函数的引用,这个函数调用了当前的函数;callee放回正在执行的函数本身的引用,它是arguments的一个属性,感兴趣的你可以参考下或许可以帮助到你
Caller
caller返回一个函数的引用,这个函数调用了当前的函数。
使用这个属性要注意:
1 这个属性只有当函数在执行时才有用
2 如果在javascript程序中,函数是由顶层调用的,则返回null
functionName.caller: functionName是当前正在执行的函数。
var a = function() {
alert(a.caller);
}
var b = function() {
a();
}
b();
上面的代码中,b调用了a,那么a.caller返回的是b的引用,结果如下:
如果直接调用a(即a在任何函数中被调用,也就是顶层调用),返回null:
var a = function() {
alert(a.caller);
}
var b = function() {
a();
}
//b();
a();
输出结果:
callee
callee放回正在执行的函数本身的引用,它是arguments的一个属性
使用callee时要注意:
1 这个属性只有在函数执行时才有效
2 它有一个length属性,可以用来获得形参的个数,因此可以用来比较形参和实参个数是否一致,即比较arguments.length是否等于arguments.callee.length
3 它可以用来递归匿名函数。
var a = function() {
alert(arguments.callee);
}
var b = function() {
a();
}
b();
a在b中被调用,但是它返回了a本身的引用,结果如下:
相关推荐
在给定的部分内容中,作者详细解释并演示了`arguments`、`caller`和`callee`的用法。例如,`ArgTest`函数展示了如何使用`arguments`对象来获取和检查传递给函数的参数数量和值。同时,通过`callerDemo`和`...
JavaScript中arguments、caller、callee、call和apply是与函数相关的几个重要概念和对象。它们为JavaScript的函数提供了非常灵活的功能,特别是在处理函数参数和调用上下文方面。接下来,将对这些概念逐一进行详细...
在代码示例中,作者通过创建一个简单的HTML页面和JavaScript脚本,展示了如何利用console.log()函数和instanceof操作符来判断arguments对象的类型,并且还演示了如何使用arguments.callee和child.caller来获取当前...
var e = arguments.callee.caller.arguments[0] || window.event; if (window.event) { e.returnValue = false; e.preventDefault(); } alert(3); if (window.event) { e.cancelBubble = true; } else { e...
var caller = callee.caller, _caller = caller.toString().replace(/[\s\?]*/g,""); var last = _caller.indexOf(_callee), str = _caller.substring(last - 30, last); name = str.match(/var([^\=]+?)\=/); ...
3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在...
- `arguments.callee.caller.arguments[0]`的使用是为了在非IE浏览器中正确引用传递给当前函数的事件对象`event`。 #### 五、代码示例 文中还提供了一个使用上述`stopEvent`函数的HTML结构和事件绑定示例。 ```...
项目中的源代码可能会演示如何使用x64特定的优化来提高远程调用的效率,或者如何处理x64架构下的内存对齐和指针转换问题。 通过深入研究x64_remotecall-master这个压缩包中的源代码和文档,开发者可以学习到如何在...
var e = event || window.event || arguments.callee.caller.arguments[0]; // 检查按下的键是否为Enter键(键码为13) if (e && e.keyCode == 13) { // 在这里写你的功能代码 // 例如,提交表单 $('form')....