你不知道的javaScript
taopoppy
学习学习
展开
-
你不知道的javaScript(作用域和闭包)--作用域是什么?
作用域:储存变量并且之后方便找到这些变量的一套规则。(或者说是根据名称查找变量的一套规则) 1、编译原理 1、javaScript是一门编译语言。虽然javaScript引擎编译语言的步骤和传统的编译语言很相似,但是,与传统编译语言并不同。 2、javaScript并不是提前编译,大部分情况的编译发生在代码执行前的几微妙。或者说编译完立即执行。 3、传统编译语言的编译步骤(然而javaSc...翻译 2018-08-01 11:28:54 · 117 阅读 · 0 评论 -
你不知道的javaScript(作用域和闭包)--函数作用域和块作用域
1、函数中的作用域 1、函数作用域的含义是:属于这个函数的全部变量都可以在整个函数的范围内使用和复用。 1.2、隐藏内部实现 1、颠覆对传统函数的认知:传统的函数我们认为它就是围墙,我们总是先造好围墙,然后在围墙里面写东西,但是我们现在这样想:函数不就是从一段代码中挑选一段代码把它包裹起来么?给予这一段代码新的作用域,实现对这一段代码的隐藏。 2、为什么是隐藏,因为给这段代码划分新的作用域...翻译 2018-08-06 21:59:23 · 513 阅读 · 0 评论 -
你不知道的javaScript(作用域和闭包)--词法作用域?
1、再说作用域:作用域是一套规则,引擎使用这个规则来在当前作用域和嵌套的子作用域中根据标识符名称去进行变量查找。 2、作用域的两种工作模型:词法作用域和动态作用域。 3、javaScript作用域的工作模型:词法作用域。 1、词法阶段 1、什么是词法作用域:定义在词法阶段的作用域。简单的说,你的源码写出来一些变量和块的作用域就确定了,在程序编译阶段的步骤一即词法分析阶段,对字符串解析出来的...翻译 2018-08-02 10:02:35 · 233 阅读 · 0 评论 -
你不知道的javaScript(作用域和闭包)--作用域闭包
1、开门见山 1、对于闭包这个概念一定是建立在作用域的基础上的,这里假如你真的觉的自己真的对作用掌握的比较好的话,可以看下去,否则真的,下面的东西可能看起来比较费劲。 2、什么是闭包?当函数可以记住并访问所在词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行的。、 2、实质是什么? 1、我们下面会讲三个比较经典的三个案例,也可以认为是闭包经常发生的三种情况 2.1、函数返回内...翻译 2018-08-15 21:49:04 · 255 阅读 · 0 评论 -
你不知道的javaScript(作用域和闭包)--提升
1、复习小结:函数作用域和块的作用域的行为是一样的,可以认为,任何声明在某个作用域的变量,都将附属于这个作用域。 1、为什么会是这样? 1、现在我们出两个问题,给出下面两段代码,请先思考输出的结果,再去实践一下,相信你会出现疑惑! //第一段代码 a=2; var a; console.log(a); //第二段代码 console.log(a); var a=2; 2、我猜结果是这...翻译 2018-08-08 17:07:09 · 219 阅读 · 1 评论