JavaScript,函数的参数与定义无关(笔记三)
JavaScript又一次让我学习到了。它与之前我学习过的java真函数方面真是,让人感到惊讶。javaScript函数在接受参数的时候,是自己产生一个数组arguments[],它会来接受传进来的参数,所以JavaScript其实可以不需要定义参数。下面为了更好的理解和区分,把想到的每种可能性都式一下。
一、函数不定义参数
arguments[]可以直接获取“aaa”,所以相当于参数是存在arguments的数组中。更加一部验证,现在用多个参数试一下。
在这次验证可以看出:1、JavaScript是arguments数组接受的。
2、arguments[]接受参数是从左至右0开始一次添加(arguments[]添加的时候不能填写参数用逗号, 但可以用空“”和undefined)
二、函数定义参数与arguments的关系
知道了arguments在函数里的作用了,现在开始考虑,定义参数对argument有什么关系。
从这个简单的函数可以证明参数和arguments是一个作用的,而且不影响传入的参数的数量。
在这个结果上,常规的思考规律是,先与函数test1传入参数由arguments接收,如何再由val按顺序接受argument的赋值。然后做了下面的测试。
由上面可以看出,函数传入参数时并不是给arguments和参数分别传值的,val相当于arguments[0]的一个识别符。
综上所述:1、JavaScript是arguments数组接受的。
2、arguments[]接受参数是从左至右0开始一次添加(arguments[]添加的时候不能填写参数用逗号, 但可以用空“”和undefined)
3、函数传入参数的时候先由arguments数组接受。定义的参数通过调用arguments来获取值。如图