到现在还有人不知道JavaScript匿名函数嘛

不同作用域对应的变量:全局变量、局部变量、块级变量(ES6提供的)。

在这里插入图片描述

⭐️全局变量:不在任何函数内声明的变量(显示定义)或在函数内省略var声明变量(隐式定义)都称为全局变量。

作用范围:它在同一个页面文件中的所有脚本内都可以使用。

在这里插入图片描述

⭐️局部变量:在函数体内利用var关键字定义的变量称为局部变量,它仅在该函数体内有效。

在这里插入图片描述

⭐️块级变量:ES6提供的let关键字声明的变量称为块级变量,仅在“{}”中间有效,如if、for或while语句等。

💡垃圾回收机制

在JavaScript中,局部变量只有在函数的执行过程中存在,而在这个过程中会为局部变量在(栈或堆)内存上分配相应的空间,以存储它们的值,然后在函数中使用这些变量,直到函数结束。而一旦函数执行结束,局部变量就没有存在必要了,此时JavaScript就会通过垃圾回收机制自动释放它们所占用的内存空间。

在开发中若要保留局部变量的值,可以通过以下两种方式实现:

在这里插入图片描述

二、匿名函数

=====================================================================

概念:所谓函数表达式指的是将声明的函数赋值给一个变量,通过变量完成函数的调用和参数的传递,它也是JavaScript中另一种实现自定义函数的方式。

🌴函数表达式


在这里插入图片描述

🌴匿名函数


概念:匿名函数指的是没有函数名称的函数。

作用:可以有效的避免全局变量的污染以及函数名的冲突问题。

说明:既是函数表达式的另一种表示形式,又可通过函数声明的方式实现调用。

在这里插入图片描述

🌴箭头函数


概念: ES6中引入了一种新的语法编写匿名函数,我们称之为箭头函数。

特点:一个箭头函数表达式的语法比一个函数表达式更短。

在这里插入图片描述

在这里插入图片描述

三、嵌套与递归

=======================================================

真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲
详情关注公中号【编程进阶路】

===============

🌴函数嵌套与作用域链


什么是嵌套函数:是在一个函数内部存在另一个函数的声明。

特点:内层函数只能在外层函数作用域内执行,在内层函数执行的过程中,若需要引入某个变量,首先会在当前作用域中寻找,若未找到,则继续向上一层级的作用域中寻找,直到全局作用域,我们称这种链式的查询关系为作用域链。

在这里插入图片描述

🌴递归调用


概念:递归调用是函数嵌套调用中一种特殊的调用。它指的是一个函数在其函数体内调用自身的过程,这种函数称为递归函数。

下面以计算阶乘为例进行演示。

在这里插入图片描述

📌 注意

递归调用虽然在遍历维数不固定的多维数组时非常合适,但它占用的内存和资源比较多,同时难以实现和维护,因此在开发中要慎重使用函数的递归调用。

🌴案例


最后

小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析

虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值