前端开发js函数递归

网站开发前端与后端区别 网站前端开发的前景如何 网站前端开发参考文献
1.函数递归:函数自己调用自己
****1、函数对象
****2、重载overload
****3、内存中的function对象
****4、匿名函数
****5、闭包
>1.function对象:js中一切都是对象,函数名其实就是引用函数定义对象的变
量。
①.arguments对象:
重载:程序中同时定义多个相同函数名不同参数列表的函数;
调用时调用者不必区分每个函数的参数;
执行时,动态选择匹配的函数执行;
注:重载不是技术,只是一个现象、概念;
js语法不支持重载,但可以通过arguments对象模拟出重载。
arguments对象:函数对象内,自动创建专门接受所有参数值的
类数组对象。
When:不同参数,不同操作,但是操作名称相同;
Why:减轻调用者调用时选择的负担;
Arguments[i]:获取下标为i的参数值;
.length:可以获得参数值的个数;
注:即使定义了参数变量,arguments对象同样可以修改参数值,同样会受到所有参数个数。
②.函数对象
创建函数对象:3种
>1、声明方式创建:
Function 函数名(函数列表){数体;return值};
函数名和函数定义都会被提前;
在调用前后定义都可以。
>2、函数直接量创建:
Var 函数名= function(参数列表){函数体;return 值};
仅函数声明提前;
函数定义保留在本地;
必须在定义后调用。
>3、使用new创建函数类型的对象
Var 函数名= new function(“参数”,“参数2”…“函数体”);
③.内存中函数对象:
内存中同时创建了两个对象
函数对象:函数定义;
作用域对象:保存了函数对象可用的变量位置的对象。
调用函数时:又会创建一个新的对象;
活动对象:专门保存局部变量的对象;
在作用域链对象中追加指向活动对象的引用;
调用结束后:作用链中活动对象引用出栈;
活动对象因为无人调用而释放;
④.匿名函数:定义时不指定函数的名字的函数
When:2种
  1. 匿名函数自调用(IIFE)
定义完成立刻执行,执行完毕立刻释放:
(Function(a){
})(a)
  1. 匿名函数回调:将函数作为对象传递给其他函数;
什么时候使用,由另一个函数决定;
优点:节省内存空间
缺点:无法反复使用
⑤.闭包:包括不必计算的变量的函数,函数可以使用函数外定义的变量。
(函数套函数)
犀牛书:函数变量可以被隐藏于作用域链中,
看起来是函数将变量包裹起来;
闭包:提升变量生存周期,即可长久保存,又不会被全局污染。
如何创建闭包:
第一步:定义外层函数,用来封装一个受保护的局部变量:
第二步:定义内层函数,执行对外层函数局部变量的操作
第三步:外层函数返回内层函数对象,并且外层函数被调用,
结果保存在全局变量中。
闭包的三个特点:
  1. 函数嵌套;
  2. 内层函数使用外层函数的局部变量;
  3. 内层函数被返回到外部,在外部调用。
什么时候使用闭包:反复使用局部变量,又避免全局污染;
网站开发前端兼职 前端开发网上花店网站设计 网站前端开发收入怎样
» 本文来自:前端开发者 » 《前端开发js函数递归》
» 本文链接地址:https://www.rokub.com/38132.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!