javascript的作用域和作用域链是我学习最痛苦的一部分,因为我花了好多时间看了好多技术文档都没有理解.大体知道什么意思了,然后还说不出之所以然来. 通过我大量的测试和看技术文档总结了以下理解,虽然不是很有技术范但是确实能理解了。 1、javascript只有全局和局部之分,那些后台语言的各种修 ...
分类:
其他好文 时间:
2016-06-16 01:24:03
阅读次数:
153
基本任何变成语言都有作用域的概念,即各种变量的可见性和生命周期,通俗来说,就是变量在什么地方可以被调用,什么地方不可以被调用。此处是js的函数作用域链的概念理解,结合培训班和网上搜索。 1、全局作用域, 局部作用域 全局作用域:处于全局作用域的变量为全局变量,在代码中的任何地方都可被可视,即在任何地 ...
分类:
其他好文 时间:
2016-06-15 09:17:26
阅读次数:
158
闭包:有权访问另一个函数作用域中的变量的函数 闭包作用:读取函数内部变量;保护变量不被销毁 例子1 函数可以读取全局变量 在函数外部无法读取函数内部的局部变量 在函数内部再创建一个函数,可以访问内部变量 把f2作为返回值,就可以在f1外部访问f1内部变量 例子2 作用域链的这种配置机智引出的一个值得 ...
分类:
其他好文 时间:
2016-06-14 15:47:19
阅读次数:
180
补充: 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 闭包的三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数和变量不会被垃圾回收机制回收 闭包的定义及其优缺点: 闭包 是指有权访问另一个函数作用域中的变量的函数, ...
分类:
Web程序 时间:
2016-06-12 13:56:49
阅读次数:
227
闭包 在一个函数内部创建一个子函数,子函数可以访问父函数作用域中的变量。 活动对象:是在进入函数执行环境时创建的,它通过函数的arguments属性初始化 当函数被调用时,会创建一个执行环境及其相应的作用域链。使用 arguments 和其他命名参数的值来初始化函数的活动对象。在作用域链中,父函数的 ...
分类:
其他好文 时间:
2016-06-11 17:16:26
阅读次数:
180
首先,我说的比较是指JS中这种思想/实现方式与C++编译原理中思想/实现方式的比较 参考链接:(比较易懂的介绍,我主要写个人理解) 作用域链: http://www.cnblogs.com/dolphinX/p/3280876.html 闭包:http://kb.cnblogs.com/page/1 ...
分类:
编程语言 时间:
2016-06-11 13:07:41
阅读次数:
183
前言 这几天在看《javascript高级程序设计》,看到执行环境和作用域链的时候,就有些模糊了。书中还是讲的不够具体。 通过上网查资料,特来总结,以备回顾和修正。 要讲的依次为: EC(执行环境或者执行上下文,Execution Context) ECS(执行环境栈Execution Contex ...
分类:
编程语言 时间:
2016-06-08 15:19:19
阅读次数:
233
http://www.cnblogs.com/rainman/archive/2009/04/28/1445687.html tag:作用域链 作用域 声明提升 全局变量 http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a ...
分类:
编程语言 时间:
2016-06-06 12:18:33
阅读次数:
189
JavaScript作用域链 之前写过一篇JavaScript 闭包究竟是什么的文章理解闭包,觉得写得很清晰,可以简单理解闭包产生原因,但看评论都在说了解了作用域链和活动对象才能真正理解闭包,起初不以为然,后来在跟公司同事交流的时候发现作用域和执行环境确实很重要,又很基础,对理解JavaScript ...
分类:
编程语言 时间:
2016-06-05 23:25:38
阅读次数:
402
一 作用域,作用域链 先上代码 此时打印出来的 按顺序分别是undefine,local,为什么第一个是undefined呢,摘抄下js作用域原话: Javascript没有块级作用域,而是函数作用域. 所谓函数作用域就是说:-》变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。 ...
分类:
其他好文 时间:
2016-05-26 09:59:46
阅读次数:
118