1.const定义的变量不可以修改,而且必须初始化。 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。 3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。 ...
分类:
Web程序 时间:
2017-02-27 10:48:19
阅读次数:
214
知道由于异步,一下代码会生产5个5 我们可以通过创建块级作用域的方式保存当前变量。 然而如果有Promise参与呢? 这个有点复杂了。大体可以猜出是235(41)(14)。到底是哪个? 答案是4在1前面,是这么解释的。 “Promise 的 4 在 1 前面输出是因为 Promise.then()里 ...
分类:
其他好文 时间:
2017-02-25 15:44:59
阅读次数:
157
let和const命令1let命令用法:ES6新增let命令,用于声明变量,用法类似var,只是let声明的变量是块级作用域内有效例:{leta=10;varb=1;}a//aisnotdefinedb//1根据返回值可以看出,let声明变量时的作用域只在其代码块内for循环的计数器就很适合使用let来声明变量。vara=[];for(v..
分类:
其他好文 时间:
2017-02-20 01:28:05
阅读次数:
138
在Javascript--闭包一节中我们讲解了闭包的作用域和作用域链的特性。了解到在外部一般是不可能访问到内部作用域中的变量的,然而通过闭包我们可以定义特权方法访问私有变量。下面先介绍块级作用域再介绍几种特权方法。 一、模仿块级作用域 Javascript是没有块级作用域的概念的。所以我们在语句块中 ...
分类:
编程语言 时间:
2017-02-13 20:23:44
阅读次数:
204
闭包的优点: 1、匿名自执行函数,模拟块级作用域,避免污染全局变量 2、缓存 3 、实现封装 闭包的缺点: 1.占用内存 通常来说,函数的活动对象会随着执行期上下文一起销毁,但是,由于闭包引用另外一个函数的活动对象,因此这个活动对象无法被销毁,这意味着,闭包比一般的函数需要更多的内存消耗。 2.内存 ...
分类:
其他好文 时间:
2017-02-12 12:17:05
阅读次数:
136
js中只有2种作用域:全局作用域和函数作用域,没有块级作用域。循环内定义的变量,相当于定义在循环所在的空间,出了循环仍可继续使用。 ...
分类:
Web程序 时间:
2017-02-10 01:48:43
阅读次数:
184
摘自:http://outofmemory.cn/wr/?u=http%3A%2F%2Fwww.phpvar.com%2Farchives%2F3033.html js没有块级作用域,简单的例子: for循环后的i,在其它语言像c、Java中,会在for结束后被销毁,但js在后续的操作中仍然能访问到 ...
分类:
Web程序 时间:
2017-01-10 12:53:54
阅读次数:
179
语句就是javascript整句和命令。 表达式语句: count++; alert(123); a = 100; ....... 复合语句和空语句: 复合语句就是用逗号将多个语句连在一起形成复合语句。{x=1;y=2;alert(x);alert(y)} ps:在javscript中没有块级作用域 ...
分类:
编程语言 时间:
2017-01-05 11:59:42
阅读次数:
209
徐某某 一个半路出家的野生程序员 徐某某 一个半路出家的野生程序员 徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域。并且,大家可以认为全局作用域其实就是Wi ...
分类:
其他好文 时间:
2017-01-03 14:36:01
阅读次数:
260
前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域。并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码,都存放在Window函数内(这是个假设),也就是说javascript中只有函数作用域(前面假设做前 ...
分类:
编程语言 时间:
2017-01-03 12:06:54
阅读次数:
195