模块化:闭包和和函数作用域(JS没有块级作用域ES6之前)构造模块 1,无new,创建对象。 2,对这个对象的属性,访问做限制(只能通过这个对象的方法来取得这个对象的属性) 链式编程: 1,无new,创建对象。 2,每个方法,除了动作,都要return this,this指向这个{}无名json
分类:
编程语言 时间:
2016-03-15 20:51:21
阅读次数:
324
今天看一篇介绍ECMAscript6的博文时,看到let命令的时候突然有点蒙逼....... let命令:let用于变量声明,与var用法类似,但是let是一个局部变量,只在声明的代码块中有效。 { let a = 10; var b = 20; } a // not defined b // 20
分类:
Web程序 时间:
2016-03-07 20:45:38
阅读次数:
162
闭包使用的代码部分参考了W3C和饥人谷公开课,谢谢。 1.什么是闭包? W3C:闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。 要较好理解闭包,除了形式本身,还应先理解:JS没有块级作用域;JS的内存回收机制(可见JavaScript作用域)。 2.闭包的例
分类:
编程语言 时间:
2016-03-07 13:30:40
阅读次数:
235
1.块语句 常用于组合0~多个语句:语法:{语句1;语句2……} *没有块级作用域:如:在for循环里面定义一个自增数 i,可以在for循环外取到它跳出循环时的值,而且for循环里面新定义的数据也能取到。 *但是如果在函数里面定义一个变量,在函数外面取不到。 2. var 声明语句 var a =
分类:
Web程序 时间:
2016-03-06 15:53:07
阅读次数:
227
JavaScript没有块级作用域 使用var声明的变量会自动被添加到最近的环境中,如:在函数内部,最近的环境就是函数的局部环境,在with语句中,最近的环境就函数环境。如果初始化变量时没有使用var,则该变量自动被添加到全局环境。 在某个环境中读取或写入某个标识符时,就会在从作用域链的前端开始逐级
分类:
其他好文 时间:
2016-02-17 19:09:42
阅读次数:
110
javascript是一门具有自动垃圾收集机制的编程语言,开发人员不必前内存分配的回收的问题。 离开作用域的值将被自动标记为可以回收,因此将来在垃圾收集期间被删除。标记清除是目前主流的垃圾回收算法,这种算法思想是给当前的值加上标记,然后回收其内存。 javascript里没有块级作用域的概念,和c,
分类:
其他好文 时间:
2016-02-02 21:36:16
阅读次数:
240
1、JS只有函数作用域,没有块级作用域这个概念; 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作;在原先位置执行赋值操作; 2、声明的全局变量,相当于定义了全局对象的一个属性; 1)如果使用var声明全局变量,这个属性是不可配置的。也就是无法del
分类:
Web程序 时间:
2016-01-28 19:12:19
阅读次数:
191
1、JavaScript的作用域链 2、函数体内部,局部变量的优先级比同名的全局变量高。 3、JavaScript没有块级作用域。 4、函数中声明的变量在整个函数中都有定义。 5、未使用var关键字定义的变量都是全局变量。 6、全局变量都是window对象的属性 在学习JavaScript的变量作用
分类:
编程语言 时间:
2016-01-27 23:03:00
阅读次数:
171
0、导言JavaScript中有许多难以避免的问题特性。接下来就一一揭示。1、全局变量在所有JavaScript的糟糕特性中,最为糟糕的就是全局变量的依赖。全局变量使得在同一个程序中运行独立的子程序变得更难。2、作用域JavaScript是类C的语法,但是却没有提供类C的块级作用域。3、自动插入分号...
分类:
编程语言 时间:
2015-12-10 17:06:26
阅读次数:
153
没有块级作用域数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于JavaScript是松.....
分类:
编程语言 时间:
2015-11-23 18:10:11
阅读次数:
207