函数是什么
函数:具有某种特定功能的代码块。 对比学习的变量,变量用于保存数据,函数用于保存代码块。
为什么要使用函数
可以提高代码的复用性
函数使用
函数的分类
官方内置函数
alert();
console.log();
document.write();
Number()
Boolean()
....
自定义函数
由编程人员自己定义的函数
定义函数
声明式
function 函数名(){
//函数体 : 函数在被调用(使用)时执行的代码
}
赋值式
var 函数名 = function(){
//函数体 : 函数在被调用(使用)时执行的代码
}
两种定义函数方法的区别
赋值式不会预解析,也就是说,使用函数时,如果还没有定义函数就会报错
调用函数
函数名后添加小括号,表示调用这个函数。
函数名()
重点
-
每一次调用函数,就相当于将函数中的代码拿出来,在当前位置执行一遍。
-
函数名+()表示调用这个函数,如果只写了函数名,表示函数本身。
-
函数调用时也是有值的,它的值由return来决定。
参数
形参:写在函数定义阶段()中的,只能在函数内容使用。
//a 就是一个形参
function fn(a){
alert(a);
}
实参: 写在函数调用阶段()中的。 将小括号中的值赋值给形参。
//上面定义的函数,在这里调用以下 10就是实参
fn(10)
fn(10+20) //10+20 表达式的结果就是实参
fn(n) //n是一个变量,它也是fn函数的实参
传参::函数在调用时,实参将自身的值赋值给形参这样的过程就叫做传参。
【重要的事情】 形参相当于在函数内容使用 var 定义了一个变量。赋值就是传参的过程。
参数可以定义多个
//多参数之间使用逗号分割
function sum(a,b){
return a+b;
}
//函数调用时,实参之间也用逗号分割。 实参会按照顺序给对应的形参赋值。
sum(10,20);
如果形参多,实参少,后面的形参的值为undefined。
function fn(a,b,c){}
fn(10,20)
//此时,c的值就是undefined。
返回值
函数执行的结果。
为什么需要返回值
程序对函数的运行结果可能存在不同的处理。
如何返回
return:结束当前函数,并将return后面的值作为函数的运行结果返回。
每一个函数都有返回值,不写return,函数的返回值默认为undefined。
function fn(){
return 1;
}
var a = fn();// a的值由上面的return后面的值决定。
console.log(a);// 1