摘要:声明变量在同一个作用域中可以声明同名的变量,但会污染变量会把声明的变量字自动提升至身上,作为的属性会提升变量,声明的变量会提升,只是未定义值,所以是找不到变量名是引用错误声明的变量不会提升,在之前使用,就会报错
let声明变量:
1、同一个作用域下不能声明同名的变量名
let count = 11; let count = 12;//报错:Uncaught SyntaxError: Identifier "count" has already been declared
2、不会把声明的变量放到window上:
let temp = 10; console.log(temp);//10 console.log(window.temp);//undefind
3、在所在的块中会形成块级作用域
if for switch while ....... for(let i=0; i<4; i++){ console.log(i);//0 1 2 3 } // 第一次做循环的时候会声明一个变量为i值为0 // 第二次会重新声明变量为i,i的值为上一次结果作为初始值,i为1 //依次类推...
4、不会提升变量
//只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。 称呼叫做暂存死区(TDZ)。
var声明变量:
1、在同一个作用域中可以声明同名的变量,但会污染变量
var index = 1; console.log(index);//1 var index = 3; console.log(index);//3
2、会把声明的变量字自动提升至window身上,作为window的属性
var num = 2; console.log(num);//2 console.log(window.num);//2
3、var会提升变量
console.log(a);//undefined,var声明的变量会提升,只是未定义值,所以是undefined console.log(b);//找不到变量名是引用错误ReferenceError var a = 1; let b = 2; //let声明的变量不会提升,在之前使用,就会报错
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/92029.html
摘要:声明一个只读的常量。的作用域与命令相同只在声明所在的块级作用域内有效。这在语法上,称为暂时性死区,简称。暂时性死区也意味着不再是一个百分之百安全的操作。重复声明是允许在相同作用域内重复声明同一个变量的,而与不允许这一现象。 转载自阮一峰老师的ES6入门,稍有修改 1.基本概念MDN var声明了一个变量,并且可以同时初始化该变量。let语句声明一个块级作用域的本地变量,并且可选的赋予...
摘要:全局作用域在最顶层声明的变量成为全局变量,全局变量拥有全局作用域,它们在程序的任何地方都是能够被访问到。作用域的主要作用是能够控制变量是使用范围。程序将会被中断,这个特性被称为暂存死区。 1. 变量声明、初始化 Javascript中使用一个变量之前需要先声明,我们可以使用var、let、const来声明一个变量。如果在给声明的变量指定初始值,就是初始化。如: var a = 1; ...
摘要:外层作用域不报错正常输出块级作用域与函数声明规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。规定,块级作用域之中,函数声明语句的行为类似于,在块级作用域之外不可引用。同时,函数声明还会提升到所在的块级作用域的头部。 前言:最近开始看阮一峰老师的《ECMAScript 6 入门》(以下简称原...
摘要:变量用命令声明,不会发生变量提升。报错不报错块级作用域实际上为新增了块级作用域。这表示外层代码块不受内层代码块的影响。以下两行都会报错声明变量的六种方法只有两种声明变量的方法命令和命令。之中,顶层对象的属性与全局变量是等价的。 let 与 cost 1.使用 let 关键字声明变量,与使用 var 关键字声明变量书写方式一致; { let a = 10; var b = 1; ...
摘要:声明变量不存在变量提升。临时死区,而且不能在声明之前访问它。禁止重复声明相同的变量,否则报错。不存在变量提升,一旦执行快外就会立即销毁。声明不允许修改绑定,但允许修改值,也就是说用创建对象后,可以修改该对象的属性值。 知识点 var 声明变量: 1、存在变量提升,实际上var无论在哪里声明,都会被当做当前的作用域顶部声明变量。 2、可以重复声明,后声明的变量会覆盖前声明的变量。 let...
摘要:块级作用域绑定变量声明的变量声明与其他的一些计算机语言不同,在类的语言中,变量总是在被声明的地方创建而在中变量创建的位置取决于你如何声明它,为我们提供了新的声明方式用来让开发者能够更好的控制变量的作用域我们通过声明的变量,无论其声明位置在哪 块级作用域绑定 1.变量声明 JS的变量声明与其他的一些计算机语言不同,在类C的语言中,变量总是在被声明的地方创建;而在JS中变量创建的位置取决于...
阅读 1870·2021-11-22 15:25
阅读 1238·2021-11-19 09:40
阅读 1832·2021-09-27 13:57
阅读 974·2021-09-22 15:10
阅读 953·2021-08-16 11:01
阅读 2932·2021-07-23 17:51
阅读 734·2019-08-30 15:55
阅读 807·2019-08-30 13:58