闭包累加的实现,循环里的匿名函数,闭包this指向,IE内存泄漏,模仿块级作用域,私有变量,模块模式 ...
分类:
其他好文 时间:
2016-12-07 01:28:29
阅读次数:
211
学习js,肯定要学习作用域,js作用域和其他的主流语言的作用域还存在很大的区别。 一.js没有块级作用域。 js没有块级作用域,就像这样: js中像if,for,switch之类的语句,他们包含的代码块里面的变量,在代码块外面也能被读取,所以说,js没有块级作用域。 二.js的全局变量 js中规定, ...
分类:
编程语言 时间:
2016-12-04 16:57:29
阅读次数:
133
来源:https://segmentfault.com/a/1190000005863641 let和const命令 ES6新增let命令,用于声明变量,是块级作用域。 let声明的变量不会像var声明的变量发生“变量提升”现象,所以,变量一定要在声明后使用,不然就会报错。 暂时性死区:只要块级作用 ...
分类:
其他好文 时间:
2016-12-04 13:50:03
阅读次数:
284
立即执行函数表达式(Immediately-invoked function expression) IIFE 我们知道,在javascript(ES5)中,是没有块级作用域的概念的。看一个例子 因为没有块级作用域的概念,因此,在 for 循环中声明的 i 变量实际上是一个全局变量,因此可以在全局环 ...
分类:
其他好文 时间:
2016-12-03 21:24:16
阅读次数:
178
1. ECMAScript不存在块级作用域,因此在循环内部定义的变量,在循环外也是可以访问的 eg: var count =10; fpr(var i=0; i<count; i++){ alert(i); } alert(i); //10 2. ECMAScript的函数可以定义任意个参数,传入任 ...
分类:
其他好文 时间:
2016-11-30 13:27:45
阅读次数:
160
let与const都是只在声明所在的块级作用域内有效。 let声明的变量可以改变,值和类型都可以改变,没有限制。 const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。 对于复合类型的变量,如数组和对象,变量名不指向数据,而是指向数据所在的地址。con ...
分类:
其他好文 时间:
2016-11-24 09:22:45
阅读次数:
155
本节内容: javascript作用域 DOM收尾 JavaScript作用域 JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一、JavaScript中无块级作用域 在Java或C#中存在块级作用域,即:大 ...
分类:
编程语言 时间:
2016-11-23 22:35:45
阅读次数:
318
一、let命令 用于声明变量。 1) 所声明的变量只在let命令所在代码块内有效。(块级作用域) 在上面的代码中,变量i是let声明的,当前的i只在本轮循环有效,所以每一次循环的i都是一个新变量,于是最后输出的是6。这样每个li元素输出的都是不一样的值,比如第一个li单击会输出1,第二个li单击会输 ...
分类:
其他好文 时间:
2016-11-20 18:56:27
阅读次数:
189
搭建Babel运行环境Babel(http://babeljs.io/)可用于将使用ES6语法的脚本转化为ES5语法的脚本,基本功能的安装步骤如下:1、安装node解释器和npm包管理工具2、安装babel解释器npminstall-gbabel(建议这个过程完成以后重启一下电脑,以免无法识别babel指令)3、使用babel实现..
分类:
其他好文 时间:
2016-11-12 20:22:46
阅读次数:
206
最近在研究Js,发现自己对作用域,作用域链,活动对象这几个概念,理解得不是很清楚,所以拜读了@田小计划大神的博客与其他文章,受益匪浅,写这篇随笔算是自己的读书笔记吧~。 作用域 首先明确一个概念,js只有函数作用域(function-based),没有块级作用域,也就是只有函数会有自己的作用域,其他 ...
分类:
Web程序 时间:
2016-11-11 19:33:46
阅读次数:
257