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相关推荐

  1. js中函数参数arguments、callee、caller,值传递、重载

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 函数参数 arguments javascript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检 ...

  2. ES5-13 对象属性遍历、this、callee、caller

    链式调用 在每个函数内部return this 访问对象属性 点语法 []中括号内是字符串或是变量 数组是特殊的对象 对象属性遍历 for in(遍历对象或数组) - 不必再用Object.keys那 ...

  3. js函数的内部属性---arguments,callee,caller

    在接下来的几篇文章中,我大家谈谈函数的内部属性,arguments,callee,caller (1)arguments,是一个类数组对象,其中包含了传入函数的所有参数,主要用途是,保存函数的参数: ...

  4. JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法...

    函数的作用域:调用对象 JavaScript中函数的主体是在局部作用域中执行的,该作用域不同于全局作用域.这个新的作用域是通过将调用对象添加到作用域链的头部而创建的(没怎么理解这句话,有理解的亲可以留 ...

  5. arguments.callee和caller的区别

    arguments.callee和caller的区别 1.arguments arguments 是一个对应于传递给函数的参数的类数组对象. 白话就是这是一个函数的传参的集合,不是数组,但是是一个类数 ...

  6. JavaScript笔记6(数组,foreach(),slice(),splice(),数组的剩余方法,函数的方法call和apply ,arguments,Date对象,Math,字符串的相关方法)

    JavaScript 数组(Array) forEach(),slice(),splice() 数组的剩余方法 函数的方法call()和apply() arguments Date对象 Math 字符 ...

  7. [js] callee和caller的区别和作用是什么?

    [js] callee和caller的区别和作用是什么? arguments.callee 指的是当前函数 Function.caller 指的是调用当前函数的函数 举个例子:function a() ...

  8. apply、call、callee、caller初步了解

    在javascript中这四货通常一起出现介绍,楼主记忆力实在是太差经常忘记用法,故记此文. apply和call apply和call是函数原型的一个方法,调用者的类型必须是函数.官方解释:应用某一 ...

  9. javascript(面向对象,作用域,闭包,设计模式等)

    javascript(面向对象,作用域,闭包,设计模式等) 1. 常用js类定义的方法有哪些? 参考答案:主要有构造函数原型和对象创建两种方法.原型法是通用老方法,对象创建是ES5推荐使用的方法.目前 ...

最新文章

  1. C# Attribute简介
  2. 一位美国前辈工程师的十大职业发展忠告
  3. MAC能登录微信,浏览器连不上网
  4. 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火
  5. 字符串—NSString
  6. twisted应用中异步回调的方式及线程的应用
  7. 如何在SAP云平台ABAP编程环境里创建自己的Z表
  8. mvn 本地jar包 加入自己的maven仓库
  9. 四人帮–代理设计模式
  10. 大数据之Kafka集群安装及简单使用
  11. html高度没有滚动条,Div扩展了页面高度,但没有滚动条
  12. java map用二叉树_HashMap
  13. VS Code 的插件位置更改
  14. CocosCreator新手游戏开发指南(真小白)超详细 逐行注释
  15. html egg mac os 10.7,10.7、10.8 MAC OS原版通用安装教程
  16. 手把手教你在群晖中设置阿里云DDNS
  17. [Windows] CVE-2011-2005 Afd.sys 本地提权漏洞复现
  18. 华尔街不是中国的机会
  19. python图片提取文字软件_这款Python 库 4行代码提取图片中的文字
  20. 大带宽、高灵敏度、扫描快速手持式监测接收机TFN DC700S

热门文章

  1. 【调剂】江苏大学2020年硕士研究生拟调剂信息
  2. 机器人编程对计算机有什么帮助吗,小孩学机器人编程有什么用
  3. 微信小程序 voip-room 多人音视频对话 组件
  4. 苹果x和xs买哪个好_iPhone12绿色和蓝色哪个好看,苹果12买哪个颜色好?
  5. 移动端开发 套餐列表动态展示(多表联查) 短信发送
  6. 今年中秋没有月亮之《临界爵迹》
  7. GitLab 详细安装及使用教程
  8. 一分钟区分splice,slice,split
  9. C# .Net EasyHttp (Http Library for C#) 应用实例
  10. PS技巧 如何在磨皮过程中保留更多细节