es6 let,const

let

ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

分别用letvar声明了两个变量,两个变量在同一个代码块中,所以打印为7
var a=3; 
let b=4;
console.log(a+b);//7

1------let 定义一个有范围的变量。不是window的属性

let a=3;
 console.log(window.a);//undefined

2------let 定义的变量仅限于循环及花括号语句块内

(1)--------
	for(let i=0;i<10;i++){
	 sum+=i;
	}
	console.log(sum,i);//ReferenceError: i is not defined

(2)---------------
	 let a=3;
	 function fn(){
	     let b=5;
	     console.log(a);//3
	     if(b<10){
	         let a=20;
	         // let定义的变量仅作用于语句块内
	         console.log(a);//20
	     }
	     console.log(a);//3
	 }
	 fn(); 

(3)---------不能在函数中用this调用let定义的全局变量

	let a=20;
	function fn(){
		let a=10; 
		console.log(this.a)//undefined
	}
	fn();




const 常量

const是不可以被修改的
不能修改引用地址,但是可以修改对象属性
对象定义为常量,不能清除

const的作用域与let命令相同:只在声明所在的块级作用域内有效。

----------不能修改引用地址,将对象定义为常量不能清除

 const obj={
  	a:1,
  	b:2,
  }
  obj.a=10;//不可以修改
发布了8 篇原创文章 · 获赞 0 · 访问量 138

猜你喜欢

转载自blog.csdn.net/weixin_44157964/article/details/103930684