let , const , var , 的区别

1.let : 变量不能重复声明

比如说 : let name = 'hygg';

let name = 'xiaohai';

这样声明变量是会报错的 但是var 可以重复声明变量

 var name = 'hygg';

 var name = 'xiaohai';

2.let : 块级作用域

例如:

{

            let boy = 'xiaohai';

        }

console.log(boy);

外面拿里面的变量去输出是不行的, 是会报错的.因为块级作用域只在当前作用域生效

3.let : 不存在变量提升

变量提升:是会把变量声明提到当前作用域的最前面,但是只会提升变量声明,而不会提升变量赋值

console.log(people);

var people = 'hygg'

结果是: undefined

上面代码相当于

var people;

console.log(people);

people = "hygg";

4.let 不影响作用域链       

 var items = document.querySelectorAll('.item');

        // var 循环便利添加绑定事件 会出错

        // for(var i = 0; i < items.length; i++) {

        //     items[i].onclick = function() {

        //         // this.style.backgroundColor = 'pink';

        //         items[i].style.backgroundColor = 'pink';

        //     }

        // }

        for(let i = 0; i < items.length; i++) {

            items[i].onclick = function() {

                // this.style.backgroundColor = 'pink';

                items[i].style.backgroundColor = 'pink';

            }

        }

上面代码中 ,经常在dom操作中是会遇到的问题 ,但是我们用let 来声明循环变量就不会遇到这样的问题了

1.const: 一般用于声明常量

2.const: 注意事项

(1) : 一定要赋予初始值

(2) : 常量的值不能被修改

3.const : 他和let 一样也是有块级作用域的概念

4.const : 可以用来声明数组和对象,对于数组和对象元素内部的修改,不算做对常量的修改不会报错

 const MATH  = [1,2,3,4,5];

        MATH.push(6);

        console.log(MATH);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值