函数使用分为两步:声明函数 和 调用函数 1.声明函数 function 函数名(){ //函数体 } (1)function是声明函数的关键字,不能改动 (2)函数不调用 自己不执行
2.调用函数 //函数名(); 调用函数的时候一定要加小括号
3.函数的形参和实参 function 函数名(形参1,形参2…){ //形参的默认值为undefined } 函数名(实参1,实参2…);
函数的参数可以有,也可以没有,个数不限
4.函数形参实参个数匹配
如果是实参和形参个数一致,则正常输出结果如果实参的个数多于形参的个数,则会取到形参的个数如果实参的个数小于形参的个数,则多余的形参虽然是一个变量但是没有接受值,被定义为undefined,那么最终的计算结果就是NaN(not a number)5.函数的返回值格式 //function 函数名(){ return 需要返回的结果; } 函数名();
函数只是实现某种功能,最终的结果需要返回给函数的调用者,即函数名(),通过return来实现只要函数遇到return,就会把后面的结果返回给函数的调用者,即函数名() = return后面的结果6.函数返回值的注意事项(函数一定会有返回值的)
return有终止函数的作用,其后面的代码不会被执行return只能返回一个值。如果用逗号隔开多个值,以最后一个为准如果需要返回多个值,可以return一个数组,数组中可以包含多个值如果函数有return,则返回return后面的值; 如果函数没有return,则返回undefined.7.break,continue,return的区别
break:结束当前的循环体(如for,while)continue:跳出本次循环,继续执行下一次循环(如for,while)return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码8.arguments的使用 当我们不知道有多少个参数传递时,可以用arguments实现,arguments对象中存储了传递的所有实参,有了arguments就不需要再写形参了。 只有函数才有arguments对象,而且是每个函数都内置好了这个arguments arguments属于伪数组,它并不是真正意义上的数组
它具有数组的length属性按照索引的方式进行存储但没有真正数组的一些方法,如pop() push()等等 function fn(){ console.log(arguments); //存储了传递的所有实参 arguments = [1,2,3] console.log(arguments.length); console.log(arguments[2]); } fn(1,2,3)9.函数的两种声明方式 (1)利用函数关键字function自定义函数(命名函数) //function fun() {} (2)函数表达式(匿名函数),即没有函数名 // var 变量名 = function(){ } ;
var fun = function(){ //执行语句 } fun(); 在上述函数表达式中,fun是变量名,不是函数名函数表达式声明方式与声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数函数表达式也可以进行传递参数