一、闭包 闭包是指可以包含自由(未绑定到特定对象)变量的代码块。 「闭包」,是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 闭包是个函数,而它「记住了周围发生了什么」。表现为由「一个函数」体中定义了「另个函数」 由于作用域链只能从内向外找,默认外 ...
分类:
编程语言 时间:
2017-03-19 10:47:10
阅读次数:
187
看下面这几个例子就知道闭包的查找顺序了(其实就是根据函数的作用域链来查找) ...
分类:
其他好文 时间:
2017-03-13 18:31:28
阅读次数:
186
javascript是一种过程式编程的脚本语言,对于过程式编程来说,代码执行的时间与数据标识的空间是不可分割的,我们只有把指令执行的具体时刻与标识映射的具体地址结合起来,才能确定程序在执行瞬间的上下文状态。于是,代码时刻和数据标识的结构就形成了javascript作用域的概念。javascript中 ...
分类:
其他好文 时间:
2017-03-08 13:57:13
阅读次数:
140
作用域链是JavaScript中的一个非常重要的概念,想要理解什么是作用域链,就必须知道什么是作用域。 作用域: 1、全局作用域: (1)最外层函数和在最外层函数定义的变量,拥有全局的作用域。js中一切皆对象,函数也是对象,js最外层的对象是window。所以在window下定义的函数和未被这些函数 ...
分类:
其他好文 时间:
2017-03-08 00:25:56
阅读次数:
209
1、基本函数 JavaScript中函数基本上可以分为一下三类: 注意:对于JavaScript中函数参数,实际参数的个数可能小于形式参数的个数,函数内的特殊值arguments中封装了所有实际参数。 2、作用域 JavaScript中每个函数都有自己的作用域,当出现函数嵌套时,就出现了作用域链。当 ...
分类:
其他好文 时间:
2017-03-07 18:03:04
阅读次数:
131
摘自:http://www.cnblogs.com/wangfupeng1988/p/3992795.html;作者:王福朋; 先解释一下什么是“自由变量”。 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图 如上程序中,在调用 ...
分类:
编程语言 时间:
2017-02-28 18:58:56
阅读次数:
169
JavaScript中的执行环境定义了变量或函数有权访问的数据(每个函数都有自己的执行环境),全局执行环境是最外围的执行环境,在浏览器中,全局执行环境就是window对象,所以所有的全局变量和函数都是作为window对象的属性和方法创建的。当某一个执行环境中所有代码执行完成后,该环境就被销毁,保存在 ...
分类:
编程语言 时间:
2017-02-23 23:58:16
阅读次数:
370
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。 JavaScript作用域 任何程序设计语言都有作用域的 ...
分类:
编程语言 时间:
2017-02-22 18:23:31
阅读次数:
222
一、this.xx 和 xx 是两回事 受后端语言影响,总把this.xx 和xx 当中一回事,认为在function中,xx 就是this.xx,其实完全两回事; this.xx 是沿着this 原型链找变量,xx是沿着作用域链找变量 var func = function(){ console. ...
分类:
Web程序 时间:
2017-02-18 13:27:59
阅读次数:
180