ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
在定义一个参数的同时,我们往往会设置该参数所需的调用参数。当然,也可以不给他设定参数,但如果设定了,而又在调用时忘记了传递相关的参数,JS引擎会自动将其设定为undefined。 例如下面这个调用,函数返回的是NaN。 ``` function sum(a,b){ var c = a + b; return c; } sum(1); ``` 返回如下: ``` NaN ``` 参数又分形式参数和实际参数两种,形参是指定义函数时所用的那些参数,而实参则指的是在调用函数时所传递的那些参数。 ``` function sum(a,b){ return a + b; } sum(1,2); ``` 这里的a和b是形参,而1和2是实参。 对于已经传递进来的参数,JS是来者不拒的,不过我们即使传递再多参数,多余的部分也只会被摸摸地忽略掉。 ``` function sum(a,b){ return a + b; } sum(1,2,3,4,5); ``` 返回如下: ``` 3 ``` 我们还可以创建一些在参数数量方便更为灵活的函数,得益于函数内部的arguments变量,该变量为内建变量,每个函数中都能调用。他能返回函数所接收的所有数据 ``` function args(){ return arguments; } args(); ``` 返回如下: ``` [] ``` 例如: ``` args(1,2,3,4,true,'hello'); ``` 返回如下: ``` [1, 2, 3, 4, true, "hello"] ```