在JavaScript中,作用域是执行代码的上下文。作用域有三种类型:全局作用域、局部作用域(或“函数作用域”)和eval作用域。 在函数内部使用var定义的代码,其作用域是局部的。 var foo = 0; // 全局作用域console.log(foo); // 0var myFunct...
分类:
Web程序 时间:
2015-04-01 17:14:42
阅读次数:
156
在学习JavaScript这条路上,对于闭包这个JS中极其重要的应用技巧或者说是一个语言特性一直停留在最最表层的:
函数α内部的函数β被函数外部所调用,然后内部的函数β由于被调用使得其生存周期得以延长。而本身不能被外部调用的函数α的变量,则可以被调用。
然而往稍微深一点的层次里去探究,就会发现闭包对理解JS作用域链有着极大的作用。举例说明:
var guo = function(stat...
分类:
编程语言 时间:
2015-03-13 00:29:47
阅读次数:
198
Javascript语言在设计之初,就将函数设计成一种包含可执行代码逻辑的特殊对象。作为对象,函数可以像普通对象变量一样拥有可以编程读写的属性,也可以像普通变量一样传递、被引用。但是问题也来了,当函数执行时,解释器如何对代码内部的标示符进行解析呢?JS是这样做的,当函数对象被创建时,或者说函数被定义...
分类:
Web程序 时间:
2015-03-12 19:02:13
阅读次数:
151
js-this作用域2014-5-7this作用域以前专门学习研究过,但发现依然不够全面和完整。现在继续学习先列出之前看过的结论:函数在被调用的时候会意外接受两个参数:this和argument,其中this的值跟取决于函数的调用模式1,方法调用模式 o.a() //this指的o2,函数调用模式 ...
分类:
Web程序 时间:
2015-02-13 11:21:32
阅读次数:
194
先看下面一段代码: 1 var a = 0; 2 alert("1st alert : a = " + a); 3 function fun(){ 4 alert("2nd alert : a = " + a); 5 var a = 1; 6 setTimeout(funct...
分类:
Web程序 时间:
2015-02-07 18:43:28
阅读次数:
179
// 作用域:// 域:空间、范围、区域……// 作用:读、写 script 全局变量、全局函数 自上而下 函数 由里到外 {} 浏览器: “JS解析器” 1)“找一些东西” ...
分类:
Web程序 时间:
2015-01-25 19:36:03
阅读次数:
136
js 代码自上而下执行;js 代码在整体运行分为:1.语法分析期2.运行期自上而下执行之前,先有一个“语法分析过程”分析三样东西。1:先分析参数2: 再分析变量声明3: 分析函数变量一个函数能使用的局部变量,就从上面的3步分析而来具体步骤:0:函数运行前的一瞬间,生成Active Object(活动...
分类:
Web程序 时间:
2015-01-16 19:05:33
阅读次数:
128
js访问变量是从内到外,这条作用域链上面的每个活动变量也是从内到外的,比如一个函数,首先由arguments和函数内部声明的变量,然后是外层的能访问的变量,直至最后window全局对象,当出了这个函数,很熟内部声明的活动对象就会销毁,所以外部滴根本无法访问函数内部声明的对象的。之所以说js会把所有的变量提前也是针对不同的作用域的,在最外面,则是把所有的全局变量和全局的函数声明提前,在函数内部,则是...
分类:
Web程序 时间:
2014-12-23 19:36:40
阅读次数:
227
js中函数嵌套是非常普遍的,那么子啊函数嵌套中,变量时怎么寻找的?答:首先在内层中寻找,找不到的话就跑的外层寻找,……直到跑到window顶层(全局)为止——————————————————————————————声明变量时加var和不加var的区别,答:加var才是声明变量。不加的话是赋值操作(不...
分类:
Web程序 时间:
2014-11-24 22:28:23
阅读次数:
228