js函数的内部属性---arguments,callee,caller
在接下来的几篇文章中,我大家谈谈函数的内部属性,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相关推荐
- 【JS 函数】递归函数 之 arguments.callee
传统递归阶乘函数: function factorial(num){if (num <= 1){return 1;} else {return num * factorial(num-1); } ...
- 059_arguments.callee和arguments.callee.caller
1. arguments.callee指向函数本身. 2. arguments.callee.caller指向调用函数的函数. 3. 例子 3.1. 代码 <!DOCTYPE html> ...
- js的隐含参数(arguments,callee,caller)使用方法
本篇文章只要是对js的隐含参数(arguments,callee,caller)使用方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在提到上述的概念之前,首先想说说javascript中 ...
- JavaScript中的arguments,callee,caller,call,appy
代码 <script language="JavaScript"> /* * 演示arguments的用法,如何获取实参数和形数数 */ function argTes ...
- 【转】全面理解javascript的arguments,callee,caller,call,apply概念(修改版)
(注:在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义 2007-05-21) 在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arg ...
- JavaScript中的arguments,callee,caller
2019独角兽企业重金招聘Python工程师标准>>> arguments: arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]argumen ...
- js 函数闭包内部返回函数体调用方法难点解答
今天在网上,看到一篇关于js函数难点的文章,js函数的一些难点.在那上面提了一下,关于js函数返回另一个函数的问题,并附上了一道面试题: var add = function(x){ var sum ...
- 5.5.4 函数内部属性
在函数内部,有两个特殊的对象:arguments 和 this.其中,arguments 在第 3 章曾经介绍过, 它是一个类数组对象,包含着传入函数中的所有参数.虽然 arguments 的主要用途 ...
- 详解 js 函数中的 arguments
详解 js 函数中的 arguments 1.什么 arguments 简单来说:arguments 是一个对应于传递给函数的参数的类数组对象 arguments 对象是所有(非箭头)函数中都可用的局 ...
最新文章
- Ubuntu16.04安装Chrome浏览器及解决root不能打开的问题
- [转载]C#中注册Dll的问题
- 【Qt】QModbusClient类
- 由java的八个基本数据类型说开去
- Hadoop之Hadoop企业优化(HDFS小文件优化)
- [蓝桥杯][算法训练VIP]乘积最大(动态规划)
- seata分布式事务一致性锁机制如何实现的
- Linux中Redis的安装
- CODE[VS] 1979 第K个数
- 碌人乘凉-- AERCHI 你所不懂的
- 统计学系方法4.1补充理解
- 糙哥、糙姐:指为了解决问题,随意调整参数的程序员
- Tomcat Session管理分析
- Vue学习笔记 出自http://www.cnblogs.com/chenzechuang/p/6687267.html#top
- python time sleep 阻塞 异步_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
- aspose-cells-8.52问题记录,excel转pdf,字体,格式
- Mysql中使用逗号隔开多张表生成的表实例
- table maker's delimma
- 6.2.1.1UE maximum output power - EIRP and TRP——翻译
- TransReID学习记录
热门文章
- TCP建立连接三次握手及其断开过程
- 免费天气预报短信服务
- CH 5102 Mobile Service(线性DP)
- Antd 修改主题颜色2018 最新版 填坑记录
- 提升软件开发者效率的10个提示
- arcgis server 常见问题【转】
- CVE-2019-0708复现
- 计算机原理课程设计陈宏,东北大学计算机组成基础原理课程教学设计.doc
- TypeError: Cannot read property ‘range‘ of null
- 联想android4.4.2版本,联想YOGA 平板2系统是什么?能升级安卓4.2吗?