在接下来的几篇文章中,我大家谈谈函数的内部属性,arguments,callee,caller

(1)arguments,是一个类数组对象,其中包含了传入函数的所有参数,主要用途是,保存函数的参数;

代码1:

function aa(b){alert(arguments);}

aa(4);

function aa(a,b,c,d){alert(arguments.length);}

aa(1,2,3,4);

function aa(a,b,c,d){alert(arguments[2]);}

aa(1,2,3,4);

function Hi() {

for(var i=0; i<arguments.length; i++) {

alert("Hi, " + arguments[i])

}

}

Hi("Cat", "Alice");

(2)另外一个属性callee,该属性是一个指针,指向拥有这个arguments对象的函数。

(3)另一个属性calleer,该属性指向调用当前函数的函数的引用。

Arguments.callee典型应用:

代码1:

var i = 1 setTimeout( function() {

alert(i)if (i++<3) setTimeout(arguments.callee, 1000)

}, 1000);

代码2:(递归时,实现代码解耦)

function test1(num){

if(num<=1){

return 1

}else

return num*arguments.callee(num-1);

}

test1(5);//120

Arguments.callee.caller

Arguments.callee.caller 例子:

f();

function f() {

alert(arguments.callee.caller); // undefined

g();

}

functiong() {

alert(arguments.callee.caller) ;

}

这一章简单介绍到这,后续几篇文章,将介绍函数中最重要的属性(没有之一),prototype和很牛逼的两个方法,apply,call();水平有限,请多多指教。

转载于:https://blog.51cto.com/shuizhongyue/1427110

js函数的内部属性---arguments,callee,caller相关推荐

  1. 【JS 函数】递归函数 之 arguments.callee

    传统递归阶乘函数: function factorial(num){if (num <= 1){return 1;} else {return num * factorial(num-1); } ...

  2. 059_arguments.callee和arguments.callee.caller

    1. arguments.callee指向函数本身. 2. arguments.callee.caller指向调用函数的函数. 3. 例子 3.1. 代码 <!DOCTYPE html> ...

  3. js的隐含参数(arguments,callee,caller)使用方法

    本篇文章只要是对js的隐含参数(arguments,callee,caller)使用方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在提到上述的概念之前,首先想说说javascript中 ...

  4. JavaScript中的arguments,callee,caller,call,appy

    代码 <script language="JavaScript"> /* * 演示arguments的用法,如何获取实参数和形数数 */ function argTes ...

  5. 【转】全面理解javascript的arguments,callee,caller,call,apply概念(修改版)

    (注:在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义  2007-05-21) 在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arg ...

  6. JavaScript中的arguments,callee,caller

    2019独角兽企业重金招聘Python工程师标准>>> arguments: arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]argumen ...

  7. js 函数闭包内部返回函数体调用方法难点解答

    今天在网上,看到一篇关于js函数难点的文章,js函数的一些难点.在那上面提了一下,关于js函数返回另一个函数的问题,并附上了一道面试题: var add = function(x){ var sum ...

  8. 5.5.4 函数内部属性

    在函数内部,有两个特殊的对象:arguments 和 this.其中,arguments 在第 3 章曾经介绍过, 它是一个类数组对象,包含着传入函数中的所有参数.虽然 arguments 的主要用途 ...

  9. 详解 js 函数中的 arguments

    详解 js 函数中的 arguments 1.什么 arguments 简单来说:arguments 是一个对应于传递给函数的参数的类数组对象 arguments 对象是所有(非箭头)函数中都可用的局 ...

最新文章

  1. Ubuntu16.04安装Chrome浏览器及解决root不能打开的问题
  2. [转载]C#中注册Dll的问题
  3. 【Qt】QModbusClient类
  4. 由java的八个基本数据类型说开去
  5. Hadoop之Hadoop企业优化(HDFS小文件优化)
  6. [蓝桥杯][算法训练VIP]乘积最大(动态规划)
  7. seata分布式事务一致性锁机制如何实现的
  8. Linux中Redis的安装
  9. CODE[VS] 1979 第K个数
  10. 碌人乘凉-- AERCHI 你所不懂的
  11. 统计学系方法4.1补充理解
  12. 糙哥、糙姐:指为了解决问题,随意调整参数的程序员
  13. Tomcat Session管理分析
  14. Vue学习笔记 出自http://www.cnblogs.com/chenzechuang/p/6687267.html#top
  15. python time sleep 阻塞 异步_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
  16. aspose-cells-8.52问题记录,excel转pdf,字体,格式
  17. Mysql中使用逗号隔开多张表生成的表实例
  18. table maker's delimma
  19. 6.2.1.1UE maximum output power - EIRP and TRP——翻译
  20. TransReID学习记录

热门文章

  1. TCP建立连接三次握手及其断开过程
  2. 免费天气预报短信服务
  3. CH 5102 Mobile Service(线性DP)
  4. Antd 修改主题颜色2018 最新版 填坑记录
  5. 提升软件开发者效率的10个提示
  6. arcgis server 常见问题【转】
  7. CVE-2019-0708复现
  8. 计算机原理课程设计陈宏,东北大学计算机组成基础原理课程教学设计.doc
  9. TypeError: Cannot read property ‘range‘ of null
  10. 联想android4.4.2版本,联想YOGA 平板2系统是什么?能升级安卓4.2吗?