JavaScript自学笔记(七)

arguments参数数组

JavaScript的函数不像其他大多数语言那样对向函数传递的参数有那么严格的要求。JavaScript函数不介意传递进多少个参数也不在乎参数的数据类型。因为传递的参数在内部用一个数组来表示,函数接收的也是这个数组,不关心数组里的元素,如何访问这个参数数组就要用到arguments对象。

arguments对象的调用

与数组类似,利用方括号加下标调用

function sayHello(){alert("Hello " + arguments[0]);
}
sayHello("Rick","Morty");// Hello Rick

上面示例中,Rick是arguments的第一个参数下标为0,用arguments[0]调用。

arguments的length属性

和数组的length属性相同,可以返回arguments中有多少个元素。

function howManyArgs(){alert(arguments.length);
}
howManyArgs("string",25);// 2
howManyArgs();// 0
howManyArgs(11);// 1

使用过程中的注意点

利用length属性结合判断语句可以对函数中接受不同参数数量实现各种功能

function doSomething(){if(arguments.length == 1){statement1;}else if(arguments.length == 2){statement2;}
}

arguments对象可以和命名参数一起使用

function add(num1,num2){if(arguments.length == 1){alert(arguments[0] + num1);}else if(arguments.length == 2){alert(arguments[0] + num2);}
}
add(10);// 20
add(10,20)// 30

注意:arguments对象中的值会自动反映到对应的命名参数,所以修改arguments[1]也会修改num2,但这两个值的内存空间是独立的,只是它们的值会同步。没有传递值的命名参数会被自动赋予undefined值。

JavaScript函数参数数组arguments相关推荐

  1. JavaScript 函数 伪数组 arguments

    一.函数 函数:函数就是将一些语言进行封装,然后通过调用的形式,执行这些语句. 函数的作用: 1.将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动 2.简化编程,让变 ...

  2. JavaScript 函数参数

    JavaScript 函数参数 JavaScript 函数对参数的值没有进行任何的检查. 函数显式参数(Parameters)与隐式参数(Arguments) functionName(paramet ...

  3. JavaScript 函数参数是传值(byVal)还是传址(byRef)?

    对于"JavaScript 函数参数是传值(byVal)还是传址(byRef)"这个问题,普遍存在一个误区:number,string等"简单类型"是传值,Nu ...

  4. 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )

    文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...

  5. 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 )

    文章目录 一.结构体 数组 作为函数参数 ( 数组 在 栈内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 栈内存创建 ) 声明结构体类型 : 定义 结构体 数据类型 , ...

  6. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍...

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  7. JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)

    简述:js中的函数大家都比较熟悉,今天来分享下函数中的默认参数arguments.js的函数参数和其他的语言有些不同,它并不介意你传进来多少个参数,以及参数的数据类型,即使你在定义函数时,只设置了两个 ...

  8. html函数参数数组遍历,JavaScript foreach遍历数组

    JavaScript forEach遍历数组教程 JavaScript forEach详解 定义 forEach() 方法为每个数组元素调用一次函数(回调函数). 语法 array.forEach(f ...

  9. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)...

    昨日内容回顾 1.三种引入方式1.行内js <div onclick = 'add(3,4)'></div>//声明一个函数function add(a,b){}2.内接js& ...

  10. 深入理解javascript函数参数

    arguments javascript对参数要求很随意,她才不管你传进来的参数是什么数据类型,甚至可以不传参数.实际上,javascript函数调用甚至不检查传入形参的个数. 1 function ...

最新文章

  1. http 错误 404.0 - not found_python3从零学习-5.10.8、http.client—HTTP 协议客户端
  2. 具有只读属性的ComboBox
  3. TVS二极管,双向封装,如何选型?
  4. sql 整改措施 注入_SQL注入的漏洞及解决方案
  5. vbs创建目录,可循环创建父级目录
  6. SpringBoot2.0 基础案例(08):集成Redis数据库,实现缓存管理
  7. 用Typescript 开发 node.js (方法2)
  8. 大唐电信[600198]股票
  9. MVC项目实践,在三层架构下实现SportsStore,从类图看三层架构
  10. 2012考研数学二第(3)题——数列收敛与部分和有界的关系
  11. 夏普科学计算机标准差,疯狂期货夏普比率公式里面标准差实际应该怎么算
  12. 窦唯与女儿【节选】揭秘男星与女儿之间的奇闻
  13. 数字图像处理Python语言实现-图像增强-导向滤波(Guided Filter)
  14. 客户分享微信个人号私域流量池养号技巧:外部储蓄号、内部储蓄号应该如何分别运营和养号!...
  15. 穿过网络防火墙监视的木马下载器(转)
  16. Spring 官宣:换掉 JVM!
  17. 将图片和音频转换成base64直接在HTML中使用
  18. 企业项目开发中可遵循的时间管理守则-华为时间管理
  19. java下雪_java多线程编程实现下雪效果
  20. 校园市场不是伪需求,2017校园市场依旧潜能无限

热门文章

  1. Iocomp for .net/wpf the Crack
  2. Cocos2D:塔防游戏制作之旅(九)
  3. Android超级好看的动态登陆界面(附有详细代码)
  4. CSS设置颜色的几种方式
  5. 解读Go语言的2021:稳定为王
  6. 30个精品Python练手项目
  7. java开发个人简历模板_java程序开发个人简历模板
  8. 软件测试对计算器的测试,软件测试计算器的测试用例
  9. Java代码格式化工具
  10. 2022年开学季哪款蓝牙耳机好?公认性价比最高的蓝牙耳机