函数
-----一、函数的概念------
函数: 将任意代码封装在一起,需要用到的时候进行调用执行。
-----二、函数的语法------
函数定义:
//声明式函数定义
function 函数名(){
函数体//封装的代码
}
//函数调用的语句
函数名()
如定义一个求两个数最大值的函数
function getMax(){
var m = 21
var n = 53
var max = m
if( n > max ){
max = n
}
console.log('最大值为' + max)
}
getMax()
//函数表达式,也称赋值式函数定义
var 函数名fn() = function(){
函数体
}
-----二、函数的参数!!------
形参:就是在函数内部可以使用的变量,在函数外部不能使用。形参的值是在函数调用的时候有实参去决定的。 实参:在函数调用的时候给形参赋值的,就是在调用函数的时候给一个实际的内容。在有多个参数的时候,是按照顺序一一对应的。
形参
function 函数名(形参1,形参2,...){
函数体
}
实参
函数名(实参1,实参2,...)
传参过程:
- 根据函数名找到相应的函数
- 将形参传给实参
- 函数体代码执行完返回函数调用处,继续执行后面代码。
参数个数
形参比实参少:因为是按照顺序一一对应的,形参少就会拿不到实参的值,所以在函数内部就没有办法用到这个值。
形参比实参多:因为是按照顺序一一对应的,所有多出来的形参就是没有值的,就是undefind
-----三、函数的返回值------
return返回的意思,其实就是给函数一个返回值 和 中断函数
终断函数:当我开始执行函数以后,函数内部的代码就会从上到下依次执行;必须要等函数内的代码执行完毕;而return关键字就是可以在函数中间的位置停掉,让后面的代码不断继续执行。
function fn(){
console.log(1)
console.log(2)
console.log(3)
return
//写了return以后,后面的console.log(4) console.log(5)就不会继续执行了
console.log(4)
console.log(5)
}
返回值: reyurn关键字就是可以给函数执行完毕一个结果
function fn() {
//执行代码
return 100
}
//此时,fn()这个表达式执行完毕之后就有结果出现了
console.log(fn()) // 100
我们可以在函数内部使用return关键字把任何内容当做这个函数运行后的结果
-----四、函数优点------
- 封装代码,使代码更加简洁
- 复用,在重复功能的时候直接调用就好
- 代码执行时机,随时可以在我们想要执行的时候执行
-----五、预解析!!!!------
js代码的解析过程: JavaScript源代码 --> (预解析) --> 浏览器解析 --> 执行代码 --> 结果
预解析:预解析会让var声明和函数声明提升
var 关键字 在内存中先声明有一个变量名
声明式函数 在内存中先声明有一个变量名是函数名,并且这个名字代表的内容是一个函数
同名变量和函数的解析方式: 如果遇到同名的变量和函数,函数优先
注意:if语句中,不管条件成立不成立语句块都会解析
console.log(num);
if(false){
var num = 100;
}
console.log(num);
return语句后代码不执行,但会进行预解析。