javascript中callee与caller的区别
来源:才华咖 本文已影响1.23W人
来源:才华咖 本文已影响1.23W人
callee
callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数
首先我们来写个阶成函数:
function chen(x){if (x<=1) {return 1;} else{return x*chen(x-1);};};
从这个函数中可以看出来,用到了递归函数,要是改变了函数名,里面的.函数名也要随着改变,这样很不方便所以我们用callee来试试
function chen(x){if (x<=1) {return 1;}else{return x*ee(x-1);};};
我们来分析一下为什么这样写:根据callee的定义,可以看出来callee是arguments对象的一个属性,指向arguments对象的函数,这个函数就是chen(chen=ee),这样解释应该可以理解了吧。
caller
caller是函数对象的一个属性,该属性保存着调用当前函数的函数的引用(指向当前函数的直接父函数)
先来个例子吧
function a(){b();};function b(){alert(er);};a(); //结果就是弹出函数a和内容
我们来解释一下吧,首先函数b的属性caller调用当前函数b的函数引用a(就是指向当前函数b的父函数a),所以结果就是弹出 function a(){ b();};
那么了解了caller和callee,那么可以不可以将二者结合在一起来使用呢
function b(){alert(er);};
从这个代码可以看出b函数中调用了b函数名,这样当函数名改变时就很不方便,我们需要替换里面的那个b
前面我们知道用什么方法可以指向当前对象,下面我们就来修改一下:
(function a(){b();})();function b(){alert(er);};
从代码中可以看出我们用ee代替了b函数,所以解决了一下麻烦。。。。。
以上所述就是本文的全部内容了,希望大家能够喜欢。
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
双语阅读:Clear Your Mental Space
Diaspora Finance Powers Global Development美文欣赏
jQuery中的read和JavaScript中的onload函数的区别在哪
2021秋分与中秋节的区别是什么
高中生优秀英语作文:Have a break away from electronics
人物性格分析 The Analysis of Personal Character英语作文
CCMC与MBA的区别
「雅思写作」the Growth Cycle of A Volcanic Island
英语阅读:African Union Leaders Talk Mali, Chinese Investmen
java的String=a; a==null和a.equals(null)这两个判断有什么区别
英语短文:City Life Compared with Rural Life
Should Celebrity Have Privacy英语作文及翻译
雾与霾的区别
雅思阅读模拟试题:Sun's fickle heart may leave us cold
Covering the ears to steal the bell高中英语作文
Choice of large enterprises or small英语四级作文
Java Callable和Future学习
JavaScript ES6中CLASS的使用指南
java - public class与class的区别详解
java script remove Child的使用注意事项
javascript中setInterval的用法总结
php字符串替换函数str-replace速度比preg-replace快
Little Pigs,the Crane and a Wolf英语故事短文
javascript中callee与caller的区别
英语阅读美文True Love Always Prevails