函数
作用:
任意功能的代码进行‘封装’,在需要的时候进行调用
像一个盒子,盒子里面装代码,通过盒子名称找到盒子执行里面的代码
1.盒子封装代码
2.调用盒子执行代码
函数的作用:
封裝代码,
封装的目的:
复用代码
语法:
//定义函数
function 函数名(){
封装的代码
}
函数名() //函数调用语句
<script>
console.log('函数定义开始');
//定义一个名为fun的函数
function fun(){
//函数体
console.log('函数fun');
}
fun() //函数调用语句
console.log('函数调用完成');
</script>
函数封装实例
封装求三个数最大值 54 67 89
封装判断闰年的函数
<script>
//封装求3个数最大值 54 67 89
//定义名为getMax 的函数
function getMax(){
var a = 54
var b = 67
var c = 89
var max = a
if (max < b) {
max = b
}
if (max < c) {
max = c
}
console.log('最大值为', max);
}
//封装判断闰年的函数
function isLeapYear(){
var year = 2022
if (year % 4 == 0 && year %100 !=0 || year % 400 == 0){
console.log(year+'是闰年');
}else{
console.log(year+'不是闰年');
}
}
getMax()
isLeapYear()
</script>
非常完美
形参:
定义函数时,在函数名括号中定义的变量称为形参
实参:
使用函数调用语句,调用函数时,传入的实际参数值
function 函数名(m,n){
函数体
}
函数名(100,200)
参数个数
形参个数多于实参:多于的形参undefined
实参个数多于形参:多于的找不到对应形参无意义
//m 形参
function fun (m,n){
console.log('m',m,'n',n)
}
//100 实参
fun(100,200)
函数的作用:
封裝代码,
封装的目的:
复用代码
函数返回值
return语句
作用:在函数体中,终止函数体代码向下执行,返回函数调用处
function fun(){
console.log('111');
var i = 0
return
console.log('i',i);
}
fun()
function f1(){
console.log('f1');
return 100
}
var m = f1()
console.log(m);
function getMax(x,y,z) {
var a = x
var b = y
var c = z
var max = a
if (max < b) {
max = b
}
if (max < c) {
max = c
}
return max
}
var m1 = getMax(30,50,70)
var m2 = getMax(10,20,30)
console.log('m1最大值',m1,'m2最大值',m2);
参数默认值
默认值设置为10
function fun(m){
m = m || 10 //函数默认值10
console.log(m);
}
fun()
传参进去之后就变了
函数的四种类型
函数类型
根据函数参数和返回值,分为四类
1.无参无返回值
function fun(){
}
fun()
2.有参无返回值
function fun(m){
}
fun(100)
3.无参有返回值
function fun(){
return 100
}
var m = fun()
4.有参有返回值
function fun(m){
return m + 100
}
var m = fun(200)
预解析
浏览器javascript引擎执行javascript代码
执行javascript代码之前,它会扫描通读js代码
如果发现声明式函数和var声明的变量,将其提前
注意:同名情况
声明式函数优先
fun()
console.log(num);
function fun(){
console.log('fun');
}
var num = 100
console.log(num);