主要的是执行环境和作用域链。 执行环境 执行环境定义了变量或函数有权访问的其他数据,每个函数都有一个执行环境,每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个变量对象中,但是我们编写代码不能访问这个变量对象,解析器在处理数据时会在后台使用它。 变量对象 每一个函数都有一 ...
分类:
其他好文 时间:
2017-11-29 13:38:37
阅读次数:
115
不同作用域中相同名称的变量就会触发变量屏蔽: 作用域链。如果该作用域中未找到变量的定义,则会到上一级查询,如果在该作用于中已经定义同名变量,则会屏蔽上一级。且必须遵循先声明再使用的原则。 ...
分类:
编程语言 时间:
2017-11-28 19:44:46
阅读次数:
236
我特别不喜欢为了装x把简单的概念弄得很复杂,比如某语言里的i++和++i,断送了多少人的编程热情啊~ 作用域: js里的作用域,一个全局作用域,一个函数(局部)作用域,这不就完事儿了吗? 小范围调大范围里的变量,可以。大范围调小范围里的变量,想得美。 多简单! 闭包: 有一天我想得美了,想把小范围里 ...
分类:
其他好文 时间:
2017-11-27 19:58:43
阅读次数:
157
博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/26/js%E4%B8%AD%E5%87%BD%E6%95%B0%E7%9A%84%E5%88%9B%E5%BB%BA%E5%92%8C%E8%B0%83%E7%94%A8%E9%83% ...
分类:
Web程序 时间:
2017-11-27 01:18:20
阅读次数:
173
执行环境 : 每调用一个函数时(执行函数时),系统会为该函数创建一个封闭的局部的运行环境,即该函数的执行环境。函数总是在自己的执行环境中执行,如读写局部变量、函数参数、运行内部逻辑。创建执行环境的过程包含了创建函数的作用域,函数也是在自己的作用域下执行的。从另一个角度说,每个函数执行环境都有一个作用 ...
分类:
其他好文 时间:
2017-11-25 21:41:59
阅读次数:
111
可执行代码类型 执行上下文类型 全局上下文 函数上下文 eval上下文 执行上下文组成 作用域链 this 变量对象 进出栈顺序 window 进栈 foo进栈 inner进栈 inner出栈 foo出栈 eval进栈 eval出栈 window出栈(只有当页面关闭时window才出栈) 变量对象的 ...
分类:
其他好文 时间:
2017-11-19 14:52:04
阅读次数:
126
前面的话 javascript里的关系又多又乱。作用域链是一种单向的链式关系,还算简单清晰;this机制的调用关系,稍微有些复杂;而关于原型,则是prototype、proto和constructor的三角关系。本文先用一张图开宗明义,然后详细解释原型的三角关系 图示 概念 上图中的复杂关系,实际上 ...
分类:
其他好文 时间:
2017-11-18 15:22:24
阅读次数:
227
一、立即执行函数方式 js立即执行函数可以让你的函数在创建后立即执行,可以让你的函数在定义后立即被执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行。 方式1、最前最后加括号 方式2、function外面加括号 方式3、function前面加运算符,常见的是!与void 错误方 ...
分类:
Web程序 时间:
2017-11-17 18:24:18
阅读次数:
134
1、C语言中每个变量都有3个性质:存储期限、作用域、链接 1)存储期限:变量的存储期限决定了为变量预留的内存被释放的时间。共2种,自动存储期限(auto),静态存储期限(static),自动存储(auto)的变量在所属块被执行时获得内存单元,并在块终止时释放内存单元,自动的获得或释放内存,故名aut ...
分类:
编程语言 时间:
2017-11-12 12:36:30
阅读次数:
187
你可以在一个函数里面嵌套另外一个函数。嵌套(内部)函数对其容器(外部)函数是私有的。它自身也形成了一个闭包。一个闭包是一个可以自己拥有独立的环境与变量的的表达式(通常是函数)。 既然嵌套函数是一个闭包,就意味着一个嵌套函数可以”继承“容器函数的参数和变量。换句话说,内部函数包含外部函数的作用域。 可 ...
分类:
其他好文 时间:
2017-11-11 11:34:33
阅读次数:
155