2021年度JavaScript复习(一):变量

103 阅读1分钟

一 可以使用三种关键字 var let const 存贮数据

注:当程序执行之前,浏览器会预解析,

在ES6语法没出来之前是没有块级作用域的.

1.未经声明的变量叫做常量 name = "You" 属于window值

2.变量命名需要遵循以下几个观点:

变量名称必须仅包含字母,数字,符号 $_,

首字符必须非数字,不能用系统的关键字,保留字当变量名.

3.var在方法中定义是属于局部变量,在全局域声明是全局变量,且var声明会产生变量提升.

4.let 声明变量,且let声明只在当前代码块有效(例一),会产生块级作用域(例一),不会出现变量提升 ,如果在未声明变量前就使用变量会出现暂时性死区(例二).

5.const声明一个只读的常量。一旦声明,常量的值就不能改变。只针对基本数据类型,但是复杂数据类型是可以改变的.

6.Object.freeze 冻结属性 (例四) 不允许重复赋值(例三).

1:{
	  let foo = 10;
	  var bar = 10;
      }
	  console.log(foo) // ReferenceError: a is not defined.
	  console.log(bar) // 10
      let num = 5
	  if(true) {
	   let num = 10
	   console.log(num) //10
	  }
  例2:funciton foo(){
	  console.log(a)  // ReferenceError
	  let a = 10
      }
   例3: let a = 10; var a = 10; //报错 . 4: let foo = 10 
   Object.freeze(foo) //谁也别想碰我