arguments,callee,caller
arguments
定义函数时没有定义参数
如果实参数量大于形参时,使用arguments
arguments只能出现在函数语句块中,不需要定义,直接使用。
用于当前函数的参数不固定数量。
function fn1(){
console.log(arguments[0],arguments[1])
console.log(arguments);
}
fn1(1,2,3,4)
求和
function sum(){var s=0;for(var i=0;i<arguments.length;i++){s+=arguments[i];}console.log(s);}
sum(1,5,9,6);
最大值最小值
function max(){if(arguments.length===0) console.log("无有效数值");var s=arguments[0];for(var i=1;i<arguments.length;i++){s=s>arguments[i] ? s : arguments[i];}console.log(s);}function min(){if(arguments.length===0) console.log("无有效数值");var s=arguments[0];for(var i=1;i<arguments.length;i++){s=s<arguments[i] ? s : arguments[i];}console.log(s);}
callee caller
arguments.callee 当前函数
arguments.callee.name 当前函数的名字
对于自执行函数(匿名函数) 可使用arguments.callee()再次执行
arguments.callee.caller 调用当前函数的外层函数
function fn(a,b){
arguments.length 实参的长度,也就是实际传入的参数
}
fn.length 形参的长度,就是函数定义参数数量
arguments.callee.length < arguments.length 相当于 形参<实参
arguments,callee,caller相关推荐
- js中函数参数arguments、callee、caller,值传递、重载
全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 函数参数 arguments javascript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检 ...
- ES5-13 对象属性遍历、this、callee、caller
链式调用 在每个函数内部return this 访问对象属性 点语法 []中括号内是字符串或是变量 数组是特殊的对象 对象属性遍历 for in(遍历对象或数组) - 不必再用Object.keys那 ...
- js函数的内部属性---arguments,callee,caller
在接下来的几篇文章中,我大家谈谈函数的内部属性,arguments,callee,caller (1)arguments,是一个类数组对象,其中包含了传入函数的所有参数,主要用途是,保存函数的参数: ...
- JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法...
函数的作用域:调用对象 JavaScript中函数的主体是在局部作用域中执行的,该作用域不同于全局作用域.这个新的作用域是通过将调用对象添加到作用域链的头部而创建的(没怎么理解这句话,有理解的亲可以留 ...
- arguments.callee和caller的区别
arguments.callee和caller的区别 1.arguments arguments 是一个对应于传递给函数的参数的类数组对象. 白话就是这是一个函数的传参的集合,不是数组,但是是一个类数 ...
- JavaScript笔记6(数组,foreach(),slice(),splice(),数组的剩余方法,函数的方法call和apply ,arguments,Date对象,Math,字符串的相关方法)
JavaScript 数组(Array) forEach(),slice(),splice() 数组的剩余方法 函数的方法call()和apply() arguments Date对象 Math 字符 ...
- [js] callee和caller的区别和作用是什么?
[js] callee和caller的区别和作用是什么? arguments.callee 指的是当前函数 Function.caller 指的是调用当前函数的函数 举个例子:function a() ...
- apply、call、callee、caller初步了解
在javascript中这四货通常一起出现介绍,楼主记忆力实在是太差经常忘记用法,故记此文. apply和call apply和call是函数原型的一个方法,调用者的类型必须是函数.官方解释:应用某一 ...
- javascript(面向对象,作用域,闭包,设计模式等)
javascript(面向对象,作用域,闭包,设计模式等) 1. 常用js类定义的方法有哪些? 参考答案:主要有构造函数原型和对象创建两种方法.原型法是通用老方法,对象创建是ES5推荐使用的方法.目前 ...
最新文章
- C# Attribute简介
- 一位美国前辈工程师的十大职业发展忠告
- MAC能登录微信,浏览器连不上网
- 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火
- 字符串—NSString
- twisted应用中异步回调的方式及线程的应用
- 如何在SAP云平台ABAP编程环境里创建自己的Z表
- mvn 本地jar包 加入自己的maven仓库
- 四人帮–代理设计模式
- 大数据之Kafka集群安装及简单使用
- html高度没有滚动条,Div扩展了页面高度,但没有滚动条
- java map用二叉树_HashMap
- VS Code 的插件位置更改
- CocosCreator新手游戏开发指南(真小白)超详细 逐行注释
- html egg mac os 10.7,10.7、10.8 MAC OS原版通用安装教程
- 手把手教你在群晖中设置阿里云DDNS
- [Windows] CVE-2011-2005 Afd.sys 本地提权漏洞复现
- 华尔街不是中国的机会
- python图片提取文字软件_这款Python 库 4行代码提取图片中的文字
- 大带宽、高灵敏度、扫描快速手持式监测接收机TFN DC700S
热门文章
- 【调剂】江苏大学2020年硕士研究生拟调剂信息
- 机器人编程对计算机有什么帮助吗,小孩学机器人编程有什么用
- 微信小程序 voip-room 多人音视频对话 组件
- 苹果x和xs买哪个好_iPhone12绿色和蓝色哪个好看,苹果12买哪个颜色好?
- 移动端开发 套餐列表动态展示(多表联查) 短信发送
- 今年中秋没有月亮之《临界爵迹》
- GitLab 详细安装及使用教程
- 一分钟区分splice,slice,split
- C# .Net EasyHttp (Http Library for C#) 应用实例
- PS技巧 如何在磨皮过程中保留更多细节