方法参数问题
来源:4-8 开发表单校验JS脚本
慕用4915122
2021-02-09 11:17:57


这上面老师说参数没有要删掉。方法为啥不会报错?之前我看了老师的解答
同学你好,js function同一个方法,可传参,可不传参。实现的关键在于arguments[],arguments (参数)是JavaScript里的一个内置对象,有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。object对象。所以在调用js方法时,可以不传参。
不太理解这句话,前面的的意思是不是如果我设置一个了方法,在别的方法调用这个方法时,里面的参数可写可不写吗?之后的的是啥意思不太理解。尤其是arguments[],arguments (参数)这连个参数 是啥意思?

1回答
同学你好,是的,可以这么理解;当我们在js中在调用一个函数的时候,我们经常会给这个函数传递一些参数,js把传入到这个函数的全部参数存储在一个叫做arguments的对象里面;arguments是JavaScript的内置对象。
用function声明的一般函数都有属于自己的一个arguments对象,表示了函数执行时传入函数的所有参数;并且js相对比较灵活,不会验证传递给函数的参数个数是否等于函数定义的参数个数。所以这里传递三个参数也不会报错的
如下图所示的例子,但是如果设置了形参,且在函数中使用了这个形参,但是没有传递的话,这个参数默认是undefined,在实际开发过程中可能会导致报错。

综上所述:
1、arguments是JavaScript的内置对象,用function声明的一般函数都有属于自己的一个arguments对象,表示了函数执行时传入函数的所有参数;
2、js相对比较灵活,所以在js中,函数设置的参数传递可以不相等
祝学习愉快~
相似问题