1.形参与实参数量上存在差异时会产生的变化
形参与实参数量一致:正常输出结果
实参数多于形参数:如果实参数多于形参数,返回实参的数量
实参数少于形参数,形参默认undefined,根据情况而定,可能结果为0,NaN等等。
2.return 函数的作用:
return语句之后的代码不被执行.
function Getsum(num1,num2) {
return num1 + num2;
alert('我是不会被执行的。');
}
console.log(Getsum(1,2));
return只能返回一个值
function fn(num1,num2) { return num1,num2; } console.log(fn(10,11)); //返回的结果是最后一个值
假如想要返回多个值,可以将返回的结果存在数组当中,返回一个数组
function Getresult(num1,num2) { return [num1 + num2, num1 * num2, num1 - num2, num1 / num2]; } console.log(Getresult(2,2));
函数都有返回值,如果有return则返回return后边的值,没有return则返回undefined。
function fn() { } console.log(fn());
break,continue,return的区别。
3.arguments在函数内部的使用
只有函数才有arguments对象,而且是每个函数都内置好了这个arguments
function fn() { console.log(arguments); //里面存储了所有传递过来的实参 arguments=[1,2,3] console.log(arguments.length); console.log(arguments[1]); //我们可以按照数组的方式遍历arguments。 for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } fn(1,2,3); //注意arguments在函数内使用,如果在外部使用会显示没有定义这个变量。
arguments是伪数组,并不是真正意义上的数组
(1).具有数组的length属性
(2).按照索引的方式进行存储
(3).它没有真正数组的一些方法pop(),push()等等。
arguments计算任意个数的数的最大值
function fn() { var max = arguments[0]; for (var i = 1; i < arguments.length; i++) { if (max < arguments[i]) { max = arguments[i]; } } return max; } console.log(fn(1,2,3,4)); console.log(fn(1,2,32,5,14));
4.函数的两种声明方式
(1)利用函数关键字自定义函数
function fn() { } fn();
(2)函数表达式(匿名函数)
var fun = function(aru) { console.log('我是函数表达式'); console.log(aru); } fun('pink老师');