JavaScript函数参数详解:理解arguments和形参
124 浏览量
更新于2024-09-02
收藏 72KB PDF 举报
深入理解JavaScript函数参数
JavaScript函数参数与其他语言的函数参数有所不同,函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数。JavaScript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检查。实际上,JavaScript函数调用甚至不检查传入形参的个数。
JavaScript函数参数的特点:
1. 参数类型不确定:JavaScript函数参数可以是任何数据类型,包括数字、字符串、对象、数组等。
2. 参数个数不确定:JavaScript函数可以传递任意个数的参数,包括零个参数。
3. 不检查形参类型:JavaScript函数调用不检查传入的实参值的类型。
4. 不检查形参个数:JavaScript函数调用不检查传入的实参个数。
arguments对象:
arguments对象是一个数组,用于存储函数调用的所有参数。在函数体内,可以通过arguments对象来访问这个参数数组,从而获取传递给函数的所有参数。
同名形参:
在非严格模式下,函数中可以出现同名形参,且只能访问最后出现的该名称的形参。但是在严格模式下,出现同名形参会抛出语法错误。
参数个数小于形参个数:
当实参比函数声明指定的形参个数要少,剩下的形参都将设置为undefined值。
使用逻辑或运算符给省略的参数设置一个合理的默认值:
function add(x, y) {
y = y || 2;
console.log(x, y); // 1 2
}
add(1);
注意:实际上,使用y||2是不严谨的,显式地设置假值(undefined、null、false、0、-0、“”、NaN)也会得到相同的结果。所以应该根据实际场景进行合理设置。
参数个数大于形参个数:
当实参比形参个数要多时,剩下的实参没有办法直接获得,需要使用arguments对象来访问所有参数。
总结:
JavaScript函数参数具有灵活性和自由度,函数可以传递任意个数和类型的参数,函数调用不检查传入的实参值和个数。但是,这种灵活性也带来了编程上的挑战,需要开发者自己进行参数检查和处理。
209 浏览量
285 浏览量
121 浏览量
113 浏览量
2024-10-26 上传
2024-10-26 上传
2024-11-02 上传
2024-11-11 上传
2024-10-27 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38597889
- 粉丝: 12
最新资源
- 编程精粹:打造无错C程序的微软技术
- 微软软件测试方法探索与实践经验
- Windows Sockets编程规范与实战指南
- MySQL 5.0中文参考手册:安装与升级指南
- Java Web Start技术详解与应用
- 嵌入式C/C++编程精华:从基础到实战深度解析
- Windows上配置PHP5.2.5+Apache2.2.8+MySQL5+phpMyAdmin详细教程
- 硬盘优化与故障处理全攻略:提升速度与寿命
- ArcGIS Engine入门教程:从基础到应用
- Spring入门:理解IoC与DI基础
- Linux Socket编程基础:接口、功能与实例
- 理解SDRAM内存:物理Bank与逻辑Bank详解
- 配置AD与Domino目录同步:步骤与指南
- Flex 2.0安装与开发环境搭建指南
- Subversion版控教程:从入门到高级操作详解
- 自制验证码生成器:简单实现与应用