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
掌握内容 1,javascript的数据类型 (symbol) 2,什么是变量?什么是变量提升 包含var和let 3,标识符,关键字 4,什么是常量 5,类型之间的转换 6,javascript的运算符 7,运算符的优先级 8,程序的顺序执行结构 js的数据分类 原始数据类型 和 引用数据类型区别 ...
分类:
Web程序 时间:
2017-09-04 01:01:26
阅读次数:
214
前面的话 过去,javascript缺乏块级作用域,var声明时的声明提升、属性变量等行为让人困惑。ES6的新语法可以帮助我们更好地控制作用域。本文将详细介绍ES6新引入的块级作用域绑定机制、let和const声明机制及最佳实践 var声明 【变量提升】 var声明会发生”变量提升“现象,即变量可以 ...
分类:
其他好文 时间:
2017-09-01 21:23:46
阅读次数:
199
1. 看人家举的两个例子,我认为这里的判断是否定义: !var 其实就是 指是否在函数function里面定义了。只有在funciton里面定义了了,js才hoist到最上面去找这个变量的值,否则就按照你自己在函数里定义的规则来了。 [转载请注明来自: http://blog.csdn.NET/su ...
分类:
编程语言 时间:
2017-09-01 09:57:27
阅读次数:
121
在es6之前,js语言并没有块级作用域,即{}形成的作用域,只有全局作用域和函数作用域,所谓的提升,即是将该变量的声明或者函数的声明提升,举个例子 显然,上面代码处于一个全局的作用域中,在该作用域中使用var声明了一个global变量,其实际的声明过程如下: 上面可见,var global的变量声明 ...
分类:
Web程序 时间:
2017-08-31 16:12:00
阅读次数:
128
var 具有变量提升,但是JS没有块级作用于所以例如for循环当中var声明的变量,再for循环外部可以直接访问到 let 和var非常相似,区别在于,声明的变量,只在当前作用域内可以被访问,并且不允许重复声明 const 没的说,常量 作用全局,不能重复声明,如果是对象,可以修改对象内的属性 ...
分类:
其他好文 时间:
2017-08-30 19:47:26
阅读次数:
103
functionshow(flag){
console.log(a);
if(flag){
vara=‘ghostwu‘;
returna;
}else{
console.log(a);
returnnull;
}
}我们从es5的变量提升开始说起,由于变量提升的原因,上述程序,在第2行和第7行都能访问到a的值,只不过是undefined,如果你不熟悉javascript这种变量的预解释机..
分类:
Web程序 时间:
2017-08-24 19:48:18
阅读次数:
189
问题: 1.说一下对变量提升的理解 2.说明this几种不同的使用场景 3.如何理解作用域 4.实际开发中闭包的应用 知识点: js没有块级作用域只有函数和全局作用域,如下代码: 当前作用域没有定义某个变量,所以要去它的父级作用域找,这样的就是作用域链 作用域和闭包-执行上下文 this介绍: th ...
分类:
Web程序 时间:
2017-08-23 15:04:10
阅读次数:
286