使用了块作用域来申明function防止污染全局变量; ...
分类:
其他好文 时间:
2017-09-12 13:49:39
阅读次数:
103
闭包常用的3种中方法 1. 通过在函数中创建函数,并返回来延迟作用域链的存在时间(掌握执行环境/作用域链/this/活动对象/arguments/全局对象概念的理解) 2. 模仿块级作用域 (javascript不存在块级作用域) for(var i=0;i<10;i++){ alert(i);}a ...
分类:
其他好文 时间:
2017-09-07 21:30:03
阅读次数:
223
const const 声明一个只读的常量,一旦声明,不会被改变,所以const一旦声明,立刻初始化赋值 const的作用域同let一样,在块级作用域内 const 同let一样,不能变量提升,不能在块级作用域内声明之前调用,不可重复声明 对于复合类型的数据,是指向数据所在的地址,const只保证指 ...
分类:
其他好文 时间:
2017-09-05 16:54:56
阅读次数:
115
1.let & const let:相当于var,不同的是没有变量提升,且只在声明的作用域内有效(新增了块级作用域)。 Const: 声明一个静态场量,一旦声明,常量的值就不能改变。 2.String 方法 CodePointAt(): 识别字符串,返回十进制码点。 String.fromCharC ...
分类:
其他好文 时间:
2017-09-04 17:51:25
阅读次数:
217
let命令 1.let用来声明变量,类似于var,但只在代码块内有效。 2.let命令只在块级作用域有效,所以很适合于for循环。 3.let命令不存在变量提升 众所周知,var命令存在变量提升。使得变量在声明之前就可以使用。 而let则会报错。 4.暂时性死区 ES6明确规定,如果区块内存在let ...
分类:
其他好文 时间:
2017-09-04 11:54:54
阅读次数:
195
前面的话 过去,javascript缺乏块级作用域,var声明时的声明提升、属性变量等行为让人困惑。ES6的新语法可以帮助我们更好地控制作用域。本文将详细介绍ES6新引入的块级作用域绑定机制、let和const声明机制及最佳实践 var声明 【变量提升】 var声明会发生”变量提升“现象,即变量可以 ...
分类:
其他好文 时间:
2017-09-01 21:23:46
阅读次数:
199
在es6之前,js语言并没有块级作用域,即{}形成的作用域,只有全局作用域和函数作用域,所谓的提升,即是将该变量的声明或者函数的声明提升,举个例子 显然,上面代码处于一个全局的作用域中,在该作用域中使用var声明了一个global变量,其实际的声明过程如下: 上面可见,var global的变量声明 ...
分类:
Web程序 时间:
2017-08-31 16:12:00
阅读次数:
128
小心作用域规则 小心解构 块级作用域的时间死区 const变量声明原则 ...
分类:
其他好文 时间:
2017-08-31 12:50:32
阅读次数:
174
问题: 1.说一下对变量提升的理解 2.说明this几种不同的使用场景 3.如何理解作用域 4.实际开发中闭包的应用 知识点: js没有块级作用域只有函数和全局作用域,如下代码: 当前作用域没有定义某个变量,所以要去它的父级作用域找,这样的就是作用域链 作用域和闭包-执行上下文 this介绍: th ...
分类:
Web程序 时间:
2017-08-23 15:04:10
阅读次数:
286
编程风格 本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。 多家公司和组织已经公开了它们的风格规范,具体可参阅jscs.info,下面的内容主要参考了Airbnb的JavaScript风格规范。 块级作用域 (1)let ...
分类:
其他好文 时间:
2017-08-21 21:55:42
阅读次数:
328