函数的定义
我们有两种定义方式 声明式 和 赋值式
声明式
使用 function 这个关键字来声明一个函数
语法:function (){ // 一段代码}
赋值式
var fn = function () { // 一段代码 }
函数调用
函数调用就是直接写 函数名() 就可以了
注意: 定义完一个函数以后,如果没有函数调用,那么写在 {} 里面的代码没有意义,只有调用以后才会执行
调用上的区别
声明式函数: 调用可以在 定义之前或者定义之后
赋值式函数: 调用只能在 定义之前
函数的参数(重点)
参数分为两种 行参 和 实参
1.行参
就是在函数内部可以使用的变量,在函数外部不能使用
如果只有行参的话,那么在函数内部使用的值个变量是没有值的,也就是 undefined
行参的值是在函数调用的时候由实参决定的
2.实参
在函数调用的时候给行参赋值的
函数的return(重点)
函数的几个优点
-
封装代码,使代码更加简洁
-
复用,在重复功能的时候直接调用就好
-
代码执行时机,随时可以在我们想要执行的时候执行
预解析
因为是在所有代码执行之前进行解释,所以叫做 预解析(预解释)
声明式函数
var 关键字
同名变量和函数解析方式
预解析,如果遇到同名变量和函数,函数优先
if条件不管成不成立语句块都会解析
return语句后代码不执行,但会进行预解析
作用域
全局作用域
局部作用域
递归函数
递归函数: 一个函数内部,调用了自己,循环往复