目录
函数的基本概念
概念:
实现功能效果的代码块
理解:
将需要的程序,封装定义在一个函数中,通过调用函数调用相对应的程序。
优点:
封装一次。多次调用,有更好的可操作性和可维护性。
函数的基本语法
声明式:
function 函数名称(){}
function 声明函数的关键词
函数名称 定义的函数的名称 要准守命名规范
() 定义函数的参数
{ } 定义函数的执行程序 以及 执行结果返回值
赋值式:
var 变量 = function(){}
没有函数名称 使用 变量名称 作为 函数名称
调用:
声明式函数 和 赋值式函数
函数程序调用语法是完全相同的
函数名称/变量名称();
<script>
// 声明式
function funName(){
console.log("我是声明式函数");
}
// 调用
funName();
// 赋值式
var isFunName = function(){
console.log("我是赋值式函数");
}
// 调用
isFunName();
</script>
函数的参数
一个参数时
例如:
function fun( num ){
console.log( num );
}
fun( 456 );
num:本质上是在定义一个变量,只需要定义一个函数名称,函数会自动执行声明变量 ,也叫形参。
456:本质上是是将数据数值赋值给形参储存,也就是将实际数值456,赋值给形参num,存储调用num时 。num存储的数值是456。也就是实参。
多个参数时
可以有多个实参形参,用逗号隔开。
function fun( num1 , num2 = 123 ){
console.log( num1 , num2 );
}
在定义时,可以给形参默认值,如果实参没给就执行默认值,如果有就会覆盖。
函数的返回值
函数的返回值return
通过关键词 return 定义的 ,抛出函数封装之外的数据数值,没有return定义执行结果返回值的函数,调用执行函数的结果都是undefined。
<script>
var num1 = Number(window.prompt('请输入数字一'));
var num2 = Number(window.prompt('请输入数字二'));
function num(num1,num2){
var xx = num1 + num2;
}
// 直接调用,结果为not defined
console.log(xx);
</script>
简单的理解return
函数是调用执行函数,可以将函数理解为一个表达式的运算,函数()调用,需要有一个运算/执行结果,函数的运算执行结果通过return 来定义。
为什么要有return
函数中定义的 变量形参,在函数外部不能直接调用,只能通过return这个关键词 ,将变量形参表达式的数值,作为函数的执行结果返回值抛出函数封装之外,使其可以赋值给变量,再通过变量直接输出。
<script>
var num1 = Number(window.prompt('请输入数字一'));
var num2 = Number(window.prompt('请输入数字二'));
function num(num1,num2){
var xx = num1 + num2;
return xx;
}
// 将变量形参表达式的数值
// 作为函数的执行结果返回值抛出函数封装之外
// 使其可以赋值给变量
// 再通过变量直接输出
var newXx = num(num1,num2);
console.log(newXx);
</script>
return的作用
终止函数程序的执行,return定义执行结果返回值,同时会中止函数中之后程序的执行。
<script>
var num1 = Number(window.prompt('请输入数字一'));
var num2 = Number(window.prompt('请输入数字二'));
function num(num1,num2){
var xx = num1 + num2;
console.log(xx);
return xx;
// return之后的程序不会执行
console.log("我是return以后的函数程序");
}
num(num1,num2);
</script>