作用域以及作⽤用域链

this

没有块级作⽤用域

闭包

作用域 - 作用域链

作用域 - this

this 永远是最后调用的对象

作用域 - 没有块级作用域

function Main(){
if(1==1){
var name = 'seven';
}
console.log(name);
}

  

在javascript 中没有块级作用域

在JavaScript中每个函数作为一个作用域,在外部无法访问内部作用域中的变量。

ES6引入let关键字,用于指定变量属于块级作用域.

javascript采用函数作用域

作用域 - 闭包

闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

你可以在一个函数里面嵌套另外一个函数。嵌套(内部)函数对其容器(外部)函数是私有的。它自身也形成了一个闭包。一个闭包是一个可以自己拥有独立的环境与变量的的表达式(通常是函数,因为ES6有了块级作用域的概念)

在JS中一切都是对象,函数是对象的一种。

什么是闭包?闭包有什么作用?这是我遇到闭包时的第一反应。

闭包在JavaScript高级程序设计中是这样描述:闭包是指有权访问另一个函数作用域中的变量的函数。

那么闭包的作用也就很明显了。

  1. 可以在函数的外部访问到函数内部的局部变量。

  2. 让这些变量始终保存在内存中,不会随着函数的结束而自动销毁。

    理解不深刻,有朦胧感,后续会深入理解包以后再写闭包的从浅理解到深的知识点

最新文章

  1. 【趣事】用 JavaScript 对抗 DDOS 攻击 (下)
  2. Web服务器与数据库服务器分离 导入 Excel数据至数据库
  3. ubuntu下安装加装DNS
  4. 在IIS中实现JSP
  5. slickedit的alias配置
  6. cassandra 环境搭建
  7. Largest Number
  8. CentOS学习笔记--程序管理
  9. javascipt学习笔记1
  10. PAT 1070. Mooncake (25)
  11. jquery的Post方法$.post()
  12. select,poll,epoll之api笔记
  13. #include <vector>
  14. RabbitMq消息序列化简述
  15. 表示一个文件的 File 类型
  16. python数据处理excel和pdf,并打包成exe
  17. Python+turtle交互式绘图:可以用鼠标拖动的小海龟
  18. logistic回归为什么要使用sigmoid函数
  19. Qt对`vtable的未定义引用
  20. CNN中各种各样的卷积

热门文章

  1. Jmeter(十三)阶梯式压测
  2. FTP基础
  3. AtCoder AGC001E BBQ Hard (DP、组合计数)
  4. Python入门(下载编译器,并安装)
  5. 手把手教你设置MongoDB密码
  6. rc-form 在 typescript 中的报错处理
  7. POJ 1789 -- Truck History(Prim)
  8. [Java]给指定时间加上十秒
  9. 性能测试 | 服务器CPU使用率高分析实例
  10. LVS系列一、LVS集群-NAT模式