• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

ES6 coust和let

开发技术 开发技术 4小时前 1次浏览

// {
// var value=10;
// let count=20;

// }
// console.log(value);
// console.log(count);//引用错误
//ES6新增一个新的变量声明:let
//var 出现块级区域有效 let块级区域无效
//var声明具有变量提升,视为作用域顶部声明,
// let则不具备,离开作用域,失效
// let更适合局部变量,容易掌控不会导致凌乱
// 变量提升区别:声明之前使用,产生结果不同
// var在后面声明前面输出的值不符合逻辑
// undefined 表示变量声明了没有赋值,按理说顺序要在前面
// let 声明方式,在后面声明,依然引用错误
// console.log(value);//underfind
// var value;//变量提升导致逻辑怪异
// console.log(count);//引用错误
// let count;
//在一个区块内部,let声明,这个区域就形成封闭作用域
// if(ture){
// //死区开始
// value=20;
// console.log(value);
// // 死区结束
// let value;
// }
// 如果let声明前使用变量,这段区域“临时死区”简称:TDZ 用typeof会报错
// typeof判断未声明的变量,输出undefined
// console.log(typeof value);
// let value;
// var 声明可以重复声明同一个变量,后面取代前一个
// let声明不可以重复声明一个变量,会直接报错
// let value=20;两个let报错,let和var各一个也报错
// var value=20;报错,更换顺序报错
// 一个在作用域外部,一个在作用域内部可以并存
// let value=20;
// {
// let value=10;//不建议相同,会乱
// }
// console.log(value);//全局
// 在循环中,var,let区别:let只在循环内有效
// var全局有效,导致后续i会引起干扰,let不会
// for(let i=0;i<10;i++){
// console.log(i);
// }
// console.log(i);var声明,10;let报错
// 循环体内设置函数方法,体外输出var会得到不想要的值
// var list=[];
// // for(var i=0;i<10;i++){设置成let会得到想要的值
// list[i]=function(){
// console.log(i)
// }
// }
// list[5]();不管设置多少结果都为10
// const声明的作用:创建一个只读的常量,一旦声名不可改变
// 和let声明一样,const无法提升,有临时死区
// 和let不同,const声明后必须赋值
const PI=3.14;
// console.log(PI);常量约定俗成大写


程序员灯塔
转载请注明原文链接:ES6 coust和let
喜欢 (0)