函数
作用域
变量的作用域
函数的作用域
递归
- 函数
Number() / parseInt() / parseFloat() / alert() / prompt()
分为系统函数和自定义函数
函数 : 是一个功能体 需要若干个数据,返回处理的结果;用于封装重复执行的代码.
(1) 创建普通函数
function函数名称(){
函数体----封装的重复执行的代码
}
调用 :
函数名称();
调用后就会执行函数体中的代码
练习: 创建函数,在函数体中封装1~100之间所有整数的和并打印,调用多次
(2) 创建带有参数的函数
function 函数名称(参数列表){ //用于接收数据
函数体
}
调用 :
函数名称(参数列表); //实际传递的数据
参数 :
创建函数时的参数称为形参,调用函数时的参数称为实参,实参会赋值给形参,实参的数量可以是0个或多个,如果形参未被赋值,则为undefined.多个参数之间用逗号,隔开
练习:创建函数,封装1~任意数字之间所有整数的和,打印出来,调用多次
(3) 创建带有返回值的函数return
function 函数名称(参数列表){
函数体
return 值; //返回值,函数调用后得到的结果
}
调用 :
函数名称(参数列表)
return 作用是返回函数调用后的结果;如果函数中没有return或者return后没加任何值,则返回的结果为 undefined;return执行后,就会结束函数的执行
练习:创建函数 getMax1,传递任意两个数字 返回最大值
练习:创建函数 getMax2,传递任意三个数字 返回最大值
练习:创建函数 getStatus,传递订单的状态码,返回状态
1-等待付款 2等待发货 3-运输中 4-已签收 5-已取消 其他-无法追踪
对比return和break
break 用于循环和switch-case,作用是结束循环或者switch-case语句的执行
return 用于函数中,结束函数的执行
练习:创建isRun,传递任意一个年份是闰年返回true 否则返回false
- 变量作用域
作用域:起作用的范围
全局作用域:在函数外,使用var声明的变量 可以在任何作用域下访问到,称为全局变量
函数作用域:在函数内,使用var声明的变量 只能在当前作用域下访问到,称为局部变量
在函数内 不加var声明的变量自动是全局变量, 但是不推荐 后期会报错
变量的提升
JS程序执行前,会将var声明的变量提升到所在作用域的最前边,赋值不提升
//提升var a;
console.log(a);
var a=1;
3. 函数的作用域
函数的可访问范围
全局函数: 在全局作用域下创建的函数, 可以在任何的作用域下调用
局部函数: 在函数作用域下创建的函数, 只能在当前作用域下调用
函数提升
JS程序执行前,会将function关键字创建的函数提升到所在作用域的最前边,会整体提升
- 递归
在函数内调用自身,本身是一个死循环
如何使用
要有结束条件,要结合着return