JavaScript中callee和caller有何本质区别及具体应用场景?
- 内容介绍
- 相关推荐
本文共计814个文字,预计阅读时间需要4分钟。
原文:本文字例讲述了JavaScript中callee和caller的区别与用法。分享给大众提供参考,具体如下:
1. `callee` 在函数的内部,有两个特殊的对象:`arguments` 和 `this`。其中,`arguments` 是一个类似数组的对象。
简化版:JavaScript函数内部有`arguments`和`this`两个特殊对象,`arguments`类似数组。
本文实例讲述了JavaScript中callee和caller的区别与用法。分享给大家供大家参考,具体如下:
1.callee
在函数的内部,有两个特殊的对象:arguments和this。其中arguments是一个类似数组的对象,包含着传入函数的所有参数。
虽然arguments的主要用途是保存函数参数,但这个对象有一个属性——callee,该属性是一个指针,指向拥有这个arguments对象的函数
所以callee的作用就是来指向当前对象
看一个阶层函数的例子就会明白他的用途了:
/* * 普通的递归阶层函数 */ function factorial(num){ if(num <= 1){ return 1; }else{ return num *factorial(num-1); } }
上面的代码运行没有问题,但这个函数的执行与函数名factorial紧紧耦合在一起了,要是改变了函数名,里面的函数名也要随着改变,这样很不方便,所以我们用arguments.callee来消除这种耦合。
本文共计814个文字,预计阅读时间需要4分钟。
原文:本文字例讲述了JavaScript中callee和caller的区别与用法。分享给大众提供参考,具体如下:
1. `callee` 在函数的内部,有两个特殊的对象:`arguments` 和 `this`。其中,`arguments` 是一个类似数组的对象。
简化版:JavaScript函数内部有`arguments`和`this`两个特殊对象,`arguments`类似数组。
本文实例讲述了JavaScript中callee和caller的区别与用法。分享给大家供大家参考,具体如下:
1.callee
在函数的内部,有两个特殊的对象:arguments和this。其中arguments是一个类似数组的对象,包含着传入函数的所有参数。
虽然arguments的主要用途是保存函数参数,但这个对象有一个属性——callee,该属性是一个指针,指向拥有这个arguments对象的函数
所以callee的作用就是来指向当前对象
看一个阶层函数的例子就会明白他的用途了:
/* * 普通的递归阶层函数 */ function factorial(num){ if(num <= 1){ return 1; }else{ return num *factorial(num-1); } }
上面的代码运行没有问题,但这个函数的执行与函数名factorial紧紧耦合在一起了,要是改变了函数名,里面的函数名也要随着改变,这样很不方便,所以我们用arguments.callee来消除这种耦合。

