Chellhoooo_abyss


  • Home

  • Archives

  • Categories

[js学习笔记] 闭包

Posted on 2018-05-12 | In 学习笔记 , js
什么是闭包MDN中对闭包的描述是 闭包是由函数以及创建该函数的词法环境组合而成。这个环境包含了这个闭包创建时所能访问的所有局部变量。 而es2017文档对词法环境的描述是这样的 A Lexical Environment consists of an Environment Record and a possibly null reference to an outer Lexical Environment. environment record(环境记录)记录相应环境中的形参,函数声明,变量声明等。外部的词法环境的引用可以为null,比如全局词法环境。 所以,其实我们可以这样理解 ...
Read more »

[js学习笔记] 词法分析和作用域

Posted on 2018-05-04 | In 学习笔记 , js
[前言] 在大三下学期我选了编译原理,在某一天的学习中发现它可以让我更深层地了解我所接触的编程语言,很多零碎的知识点好像开始串联成线。下面主要为学习笔记和自己的一些小理解。 词法作用域和动态作用域程序设计语言的作用域可以分为静态作用域和动态作用域。而静态作用域在js中又称为词法作用域。静态作用域,声明的作用域是在 定义 的时候确定的。如果在当前作用域找不到则会在 定义该函数的作用域 中查找,若没有则按此顺序往外查询。动态作用域,声明的作用域是在 调用 的时候确定的。如果在当前作用域找不到则会在 调用该函数的作用域 中查找,若没有则按此顺序往外查询。大多数现在程序设计语言都是采用静态作用域规则, ...
Read more »

[js学习笔记] 函数

Posted on 2018-05-04 | In 学习笔记 , js
[前言] 在整理闭包笔记的时候,对函数部分笔记的简单整理和理解。 函数我们都知道函数都有自己的私有的作用域,通常情况下函数以外地方是不能访问函数中的变量的,但是函数内部是可以访问其外层的作用域。123456var outer=1;function inner(){ var inner=2; console.log(outer) // 1}console.log(inner) // undefined 函数只取决于被定义的环境,而非被调用时产生的环境。严谨地说,即语法定义时所产生的作用域就是 词法作用域,因而当词法分析器处理代码的时候将会保持作用域不变。当退出函数 ...
Read more »
1…456…14
chellhoo

chellhoo

42 posts
15 categories
66 tags
© 2018 chellhoo
Powered by Hexo
Theme - NexT.Muse