一 函数介绍
1 概念:将任意代码封装在一起,需要用的时候进行调用执行
2 语法:定义函数 :function 函数名( ){ 函数体 / 封装的代码 }
( 函数调用语句:) 函数名 ( )
二 函数参数
1 行参:就是在函数内部可以使用的变量,在函数外部不能使用,
行参的值是在函数调用的时候由实参决定的
2 实参:在函数调用的时候给行参赋值的,也就是说,
在调用的时候是给一个实际的内容的多个参数的时候,是按照顺序一 一对应。
3 参数的调用过程:是根据函数名找到相应的函数,将实参传递给行参,函数体代码执行完返回函 数调用处,继续执行后面的代码
4 参数个数:行参比实参少:因为是按顺序一 一对应的,行参少就会拿不到实参给的值,
所以在函数内部就没办法用到这个值
行参比实参多:因为是按顺序一 一对应的,所以多出来的行参就是没有值的,
就是 undefined
5 参数默认值:function 函数名(行参1,行参2){
行参1=行参1 || 默认值1
行参2=行参2 || 默认值2
三 函数返回值
1 概念:return 返回的意思,其实就是给函数一个返回值和 终断函数
2 终断函数:当开始执行函数以后,函数内部的代码就会从上到下依次执行
必须要等到函数内部的代码执行完毕
而 return 关键字就是可以在函数中间位置停掉,让后面的代码不再继续执行
3 返回值:return 关键字就是可以给函数执行完毕一个结果
我们可以在函数内部使用 return 关键把任何内容当做这个函数运行后的结果
语法:function fn( ) {
(执行代码)
return 100 }
console.log( fn( ) ) 显示结果为
四 函数类型
1 无参无返回值: function 函数( ){ 函数体 }
函数 ( )
2 有参无返回值 : function 函数(行参1 , 行参2 ){ 函数体 }
函数 (实参1 , 实参2)
3 无参有返回值 : function 函数( ){
函数体
return 值 }
var 变量= 函数 ( )
4 有参有返回值 :function 函数(行参1 ,行参2) {
函数体
return 值 }
var 变量= 函数 ( 实参1 实参2 )
五 函数优点
1 封装代码,时代吗更加简洁
2 复用,在重复功能的时候直接调用就好
3 代码执行时机,随时可以在我们想要执行的时候执行
六 函数定义方式
1 声明式函数定义 : function fn ( ) { }
2 赋值式函数定义 : var fn=function ( ) { }
七 预解析
1 js 代码执行解析过程:
声明式函数:在内存中先声明有一个变量名是函数名,并且这个名字代表的内容是一个函数
var 关键字:在内存中先声明有一个变量名
1 fn ( )
( 声明式函数,提到最前 ) function fn( ) {
console.log( ">>>>") }
var f =100 (var 提到最前 )
2 function fn( ){
console.log ( ">>>") }
var f
fn ( )
f =100
2 同名变量和函数 解析方式
预解析:如果遇到同名变量和函数,函数优先
案例:fn( )
function fn( ){ console.log("这是一个 fn 函数" ) }
fn( )
var fn =100
显示结果 :这是一个 fn 函数 (重复2次)
3 if 条件不管成不成立 语句块都会解析
4 return 语句后面代码不执行,但会进行预解析