一.函数
函数使用分为两步:声明函数 和 调用函数
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是变量名,不是函数名
- 函数表达式声明方式与声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数
- 函数表达式也可以进行传递参数