2018-01-16作用域、闭包、传参

原创 moxiao 随笔 个人笔记 175阅读 2018-01-16 18:38:21 举报

浏览器运行JS脚本至少要包含三个部分:

  • 编译器:负责把JS代码编译成计算机可以是识别的数据(语法分析和词法分析)
  • JS引擎:负责对编译后的代码进行逐行运行。
  • 作用域:用来管理标识符的一套规则,它规定了每个标识符可以在什么范围内被访问和修改。

作用域:主要包括全局作用域和局部作用域(通常指函数作用域).

函数作用域:凡是在函数内部,都属于函数作用域。
全局作用域:出了函数作用域,那么就属于全局作用域。

作用域链:规定了标识符的查找顺序,只能由内向外查找,而不能由外向内查找。

闭包:函数就是闭包,但是通常是只函数嵌套函数。当一个函数可以记住它被声明的作用域,并且可以访问那个作用域里面的所有的标识符,就会形成闭包。

栈:LIFO ==> last in first out 后进先出,凡是储存在栈中的变量,都会被操作系统自动释放。在JS当中,通常储存局部的基本数据类型的变量。
堆:它一种树状的数据结构。在JS当中,引用数据类型,通常会储存在堆中。堆中的数据,不会被自动释放。
垃圾回收器:对不在引用的数据进行回收(释放内存空间)。

今天学了下新的东西,作用域、闭包、传参。
前两天其实已经可以用了,但是不知道为什么这么做,今天知道了!

今天做了一个小练习!
html 代码

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复