函数参数

115 阅读2分钟

函数理解

函数可以封装任何多条语句,而且可以在任何地方,任何时候调用执行. 函数在定义时不必指定是否返回值.,实际上,任何函数在任何时候都可以通过return语句跟要返回的值来实现返回值. function sum(num1, num2) { return num1 + num2 } 函数在执行完return语句之后停止并立刻退出.因此,位于return语句之后的任何代码都永远不会执行. return语句也可以不带有任何返回值.在这种情况下.函数在停止执行后将返回undefined值.这种用法一般用在需要提前停止函数执行而又不需要返回值的情况.

函数参数理解

ECMAScript函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型.也就是说,即使你定义的函数只接受两个参数,在调用这个函数时也未必一定要传递两个参数.可以传递一个,三个甚至不传递参数,而解析器永远不会又什么怨言.之所以会这样,原因是ECMAScript中的参数在内部是用一个数组来表示的.函数接受到的始终都是这个数组,而不关心数组中包含哪些参数(如果有参数的话).如果这个数组中不包含任何元素,无所谓.如果包含多个元素,也没有问题.实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数. eg: function sayHi() { alert(arguments[0] + arguments[1]) } sayHi('你好', '未来') 命名的参数只提供便利,但不是必需的. 通过访问arguments对象的length属性可以获知有多少个参数传递给了函数. function haoManyArgs() { alert(arguments.length) } haoManyArgs('ss', 45); //2 haoManyArgs(); //0 haoManyArgus(12); // 1