JS-作用域和闭包

这里我们通过几道面试题来引申出作用域和闭包的相关知识点

在这里插入图片描述

看到这些问题,我们头脑如果能会下意识的浮现下面的知识点,我们的目的就达到了。的
![在这里插入图片描述](https://img-blog.csdn.net/20181013105859599?watermark/2/te在这里插入图片描述

一。执行上下文

1.范围: 一段<script>或者一个函数内
2.全局:变量定义、函数声明、
3.函数:变量定义、函数声明、this、arguments、函数

当我们的代码运行时,变量的定义和函数的声明会被提前,var a会被提到顶部,并且赋值undefined

    var a;//a被赋值为undefined
    console.log(a)
    a = 100   

请大家看下图的 两小段代码
在这里插入图片描述

二。 this的相关知识

this要在实行的时候才能确认值,定义是无法确认。一般有以下场景会确认
在这里插入图片描述

三。作用域

在这里插入图片描述

四。作用域链

他是一个链式结构,一级一级的向上寻找
在这里插入图片描述

五。闭包

总结一下闭包的使用场景
1.函数作为返回值

在这里插入图片描述

2.函数作为参数传值
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jbj6568839z/article/details/83036437