JavaScript中var、let和const有什么区别

JavaScript中的var会造成变量穿透

演示代码

// An highlighted block
for (var i = 1 ; i < 5 ; i++){
    
    
        console.log(i);
    }
    console.log("变量穿透 =>" + i);

浏览器效果
在这里插入图片描述

使用let就可以解决变量穿透:

代码:

//将var改为let即可
for (let i = 1 ; i < 5 ; i++){
    
    
        console.log(i);
    }
    console.log("变量穿透 =>" + i);

浏览器效果

https://img-blog.csdnimg.cn/20200326013247199.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzI0OTUzNQ==,size_16,color_FFFFFF,t_70
提示报错:
在这里插入图片描述

const 可以解决JavaScript没有常量的问题

演示代码

	var a = 1;
    a = 2;
    console.log("var定义的变量可以被修改 =>" + a)
    //const是用来定义常量的
    const b = 1;
    b = 2;//这里会报错,因为b是常量,所以不能被修改!

浏览器显示
修改const定义的常量直接报错了!
在这里插入图片描述
在这里插入图片描述

总结:

因为JavaScript中直接用var来定义的为变量,如果需要定义一个变量就需要用到const
因为JavaScript中直接用var会造成变量穿透,如果需要解决这个问题就需要使用let

猜你喜欢

转载自blog.csdn.net/weixin_43249535/article/details/105109373