javascript匿名函数的形式与作用,匿名函数用法
这篇文章带给你一些关于javascript的知识,包括匿名函数、嵌套和递归。希望对你有帮助。
【相关推荐:javascript视频教程】
思考:声明一个变量后,可以在任何地方使用它吗?
回答:没有。
例如,函数中var关键字声明的变量不能在函数外部访问。
总结:变量的使用是有范围的。
作用域划分:全局作用域、函数作用域和块级作用域(ES6提供)。
不同作用域对应的变量:全局变量、局部变量、块级变量(ES6提供)。
全局变量:未在任何函数中声明的变量(显式定义)或在函数内省略var声明的变量(隐式定义)称为全局变量。
范围:可以在同一个页面文件的所有脚本中使用。
局部变量:函数体中var关键字定义的变量称为局部变量,它只在函数体中有效。
块级变量:ES6提供的let关键字声明的变量称为块级变量,只在“{}”中间有效,如if、for或while语句等。
垃圾回收机制
在JavaScript中,局部变量只存在于一个函数的执行过程中,而在这个过程中,局部变量在(栈或堆)内存中被分配相应的空间来存储它们的值,然后这些变量在函数中被使用,直到函数结束。一旦函数执行完毕,就不需要局部变量了。这时JavaScript会通过垃圾回收机制自动释放它们所占用的内存空间。
要在开发中保留局部变量的值,有两种方法:
概念:所谓函数表达式,是指将声明的函数赋给一个变量,通过变量调用函数,传递参数。这也是用JavaScript实现自定义函数的另一种方式。
函数表达式
匿名函数
概念:匿名函数是指没有函数名的函数。
函数:可以有效避免全局变量的污染和函数名的冲突。
注意:它不仅是函数表达式的另一种表示,还可以通过函数声明来调用。
箭头函数
概念:ES6中引入了新的语法来编写匿名函数,我们称之为箭头函数。
特点:箭头函数表达式的语法比函数表达式短。
函数嵌套与作用域链
什么是嵌套函数:它是一个函数内部有另一个函数的声明。
特点:内部函数只能在外部函数的范围内执行。在内部函数执行过程中,如果需要引入变量,将首先在当前范围内进行搜索。如果没有找到,它将继续在更高一级的范围内搜索,直到到达全局范围。我们把这种链式查询关系称为作用域链。
递归调用
概念:递归调用是函数嵌套调用中的一种特殊调用。指函数在其函数体内调用自身的过程,称为递归函数。
以计算阶乘为例来演示。
注意
递归调用虽然非常适合遍历维数不固定的多维数组,但是占用大量内存和资源,实现和维护比较困难。因此,在开发中应该谨慎使用函数的递归调用。
案例
求斐波那契数列第N项的值
了解什么是斐波那契数列。
斐波那契数列也叫黄金分割数列,比如“1,1,2,3,5,8,13,21……”。
求定律:这个数列从第三项开始,每一项等于前两项之和。
代码实现思想
小于0,给出错误消息。等于0,并返回0。等于1,并返回1。大于1,根据找到的规则,通过递归调用函数。【相关推荐:javascript视频教程】以上是总结JavaScript匿名函数知识点的详细内容。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。