1.函数提升
程序执行前会将函数提升到所在作用域的最前边
2.递归
在一个函数的内部调用了自身这个函数
如何使用递归:
要有边界条件
结合着return,最终跳出函数
递归:https://www.codece.com/archives/102
3.匿名函数
function (){ }
(1)创建函数
函数声明function fn(){} |
---|
函数表达式变量名称就是函数名称var fun=function(){} |
对比函数名称()和函数名称
函数名称(),调用函数,得到函数的返回结果。
函数名称,本质上是一个变量,保存了一个函数。
对比函数声明和函数表达式创建函数的区别
函数声明创建的函数存在函数的提升,顺序上可以先写调用再写创建
函数表达式创建的函数只是存在变量声明的提升,必须先写创建再写调用
(2)匿名函数自调用
全局污染:全局变量的出现产生的影响
(function(){ 函数作用域下,变量是局部变量,可以防止污染全局})();
(3)回调函数
将函数以实参的形式传递,这个传递的函数称为回调函数
function tao(madai){ madai() //调用传递进来的回调函数}function dong(){ }tao(dong);tao( function(){ } )
4.系统函数
isNaN() 检测一个值是否为NaN&#