1.let和const命令 1.es6新增了let和const命令,与var用法类似,但它声明的变量只在let所在的代码块内有效(块级作用域,es5只有全局和函数作用域) 2.不存在变量提升 变量提升的意思是把下边的东西提到上面,在JS中,就是把定义在后面的东西(变量或函数)提升到前面来定义。 eg ...
分类:
其他好文 时间:
2016-12-30 18:44:51
阅读次数:
154
闭包 : 函数可以访问它被创建时所处的上下文环境。 《JavaScript语言精粹》 产生原理: JavaScript中没有块级作用域,只有函数作用域,函数中任何位置定义的参数和变量在函数内的任何地方都是可见的,在函数外不可见。 使用方法: 可以通过在函数内部创建局部变量,实现变量的私有化。(外部不 ...
分类:
其他好文 时间:
2016-12-29 17:25:13
阅读次数:
199
const 就不用多说了,一个值一经初始化不再发生变化,就用 const定义,效率更高 let 的作用域是块级作用域和全局作用域,块级作用域就是{} 比如 for 循环最适合用 let,在 for(){} 之外就不存在你定义的变量了 var 的作用域是函数作用域和全局作用域,函数作用域是在一个函数内 ...
分类:
其他好文 时间:
2016-12-28 12:09:02
阅读次数:
214
一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。上个简历的例子如: 1 2 3 4 5 6 7 8 9 10 console.log(global); // unde ...
分类:
Web程序 时间:
2016-12-27 13:54:34
阅读次数:
232
闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。 闭包的特性: 1.函数内再嵌套函数2.内部函数可以引用外层的参数和变量3.参数和变量不会被垃圾回收机 ...
分类:
其他好文 时间:
2016-12-23 19:27:20
阅读次数:
157
js闭包网站:http://www.cnblogs.com/qieguo/p/5457040.html 什么是js闭包 有权访问另一个函数作用域内变量的函数都是闭包。 这里 f 函数访问了构造函数 a 里面的变量 n,所以形成了一个闭包。再来看一段代码 看看是怎么执行的: var c = coute ...
分类:
Web程序 时间:
2016-12-11 18:15:58
阅读次数:
194
词法作用域是一套关于引擎如何寻找变量以及会在何处找到变量的规则。 (函数作用域和块作用域) JavaScript 中的作用域就是词法作用域,也就是静态作用域,由定义代码决定 动态作用域似乎暗示有很好的理由让作用域作为一个在运行时就被动态确定的形式,而不是在写代码时进行静态确定的形式 动态作用域并不关... ...
分类:
移动开发 时间:
2016-12-10 16:12:16
阅读次数:
191
一、JavaScript数组 创建JavaScript数组有两种方式 方式一: 方式二: 二、JavaScript对象 1、创建方式 2、寻址方式 三、JavaScript函数 1、作用域 在函数之外声明的变量作用域是全局的,在程序的任意位置使用或者改变它们。在函数内部声明的变量也是全局的,除非在声 ...
分类:
编程语言 时间:
2016-12-07 14:19:03
阅读次数:
176
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点。 JavaScript知识点 1.变量作用域 上方的函数作用域中声明并赋值了a,且在co ...
分类:
编程语言 时间:
2016-12-07 01:24:56
阅读次数:
209
JavaScript知识点1.变量作用域 var a = 1;function test() { var a = 2; console.log(a); // 2} test(); 上方的函数作用域中声明并赋值了a,且在console之上,所以遵循就近原则输出a等于2。 var a = 1;funct ...
分类:
编程语言 时间:
2016-12-06 22:53:46
阅读次数:
274