let和const 和var 的区别

// 1.let和const是什么//声明变量或声明常量l/ var声明变量
// let 代替var,声明变量
// const声明常量constant
// 2.let和const的用法
// var一样
// var username = ‘Alex’;
// let age = 18;
// const sex = ‘male’;
// console.log(username, age, sex);
//3.什么是变量,什么是常量
//username = ‘zS’;
// age = 28;
// console.log(username, age);sex = 'female";
// var、let声明的就是变量,变量—旦初始化之后,还可以重新赋值
// const声明的就是常量,常量一旦初始化就不能重新赋值了,否则就会报错
//为什么需要const
// let
// let sex = ‘male’;
// sex = ‘female’;
// console.log(sex);
// const
// const sex = ‘male’;
// sex = 'femalet
// console.log(sex);
// const就是为了那些一旦初始化就不希望重新赋值的情况设计的

// 2.2.const声明的常量,允许在不重新赋值的情况下修改它的值
//基本数据类型
// const sex = ‘male’;
// sex = 'female";
//引用数据类型
// const person = { username: ‘Alex’ };
// person = 0;
// person.username = ‘ZhangSan’;
// console.log(person);
// const就是为了那些一旦初始化就不希望重新赋值的情况设计的

// 3.什么时候用const,什么时候用let
// var
// for (let i = 0; i < 3; i++) {}
// const username = ‘Alex’;
// username = ‘ZhangSan’;

// let和const var的区别
//1.重复声明
//已经存在的变量或常量,又声明了一遍
// var 允许重复声明,let、 const不允许
// let a = 1;

// let a = 2;
// console.log(a);
// function func(a){
// let a =1;
// }
// func();
//变量提升
// var会提升变量的声明到当前作用域的顶部
// console.log(a);
// console.log(a);
// var a = 1;
//相当于
// var a;
// console.log(a);
// a = 1;
// console.log(a);
// let、const 不存在变量提升
//3.暂时性死区
//只要作用域内存在let、 const,它们所声明的变量或常量就自动“绑定”这个区域,不再受到外部作用域的影响
// let a = 2;
// function func(){console.log(a);let a = 1;func();
// let、const存在暂时性死区
// let a = 2;
// let b = 1;
// function func() {console.log(b);
// console.log(a);
// let a = 1;
// }
// func();
//养成良好的编程习惯,对于所有的变量或常量,做到先声明,后使用
// 4.window对象的属性和方法
//全局作用域中,var声明的变量,通过function声明的函数,会自动变成 window对象的属性或方法
//let、const不会
//var/function
// var age = 18;
// function add(){}
//console.log(window.age);
//console.log(window.add === add);
//let/const
// let age = 18;
// const add = function () {};console.log(window.age);
// console.log(window.add === add);
//块级作用域
// 1.什么是块级作用域
// var没有块级作用域
// for (var i = 0; i < 3; i++){
console.log(i);
// }

  // console.log(i);

// let/const有块级作用域
//for (let i = 0; i < 3; i++){
//i
// console.log(i);
//2.作用域链
// function func( {
// for (let i = 0; i < 3; i++){l/ll console.log(ü);
// }
// }
// func();
// console.log(i);
//作用域链:内层作用域->外层作用域->…->全局作用域
//3.有哪些块级作用域//}
//{
//let age = 18;
//console.log(age); }
// console.log(age);
//l
// for()//
// while(){}
// do{}while()
// if{}
//switch(){}

//函数作用域
//function(){}
//const person={getAge: function(){}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值