js中的arguments对象

《JavaScript高级程序设计》读书笔记

js中函数的参数与别的语言的参数有些不同。js中的函数不介意传递进来的参数有几个,也不介意是什么数据类型。
也就是说,即便是定义的函数只接收两个参数,但是在调用这个函数的时候,并不一定传递两个参数,可以传递一个,三个或者不传参数。解析器也不会报错。
之所以会这样,是因为,js中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组内包含了哪些参数。
如果这个数组中不包含任何元素,无所谓;如果包含多个元素,也没有问题。
实际上,在函数体内可以通过arguments对象来访问这个参数数组。并获取每个参数。
请看下面的这个函数,这个函数有两个参数,分别是name和say:

function sayHello(name, say) {
    console.log(`${name}说${say}`)
}

上面的函数和下面的函数功能是一样的:

function sayHello() {
    console.log(`${arguments[0]}说${arguments[1]}`)
}

上面的两个函数对比说明:js中命名的参数提供了便利,但不是必须的。


完。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容