首页IT科技js中let和const有什么用(js中定义变量var 与 let的区别)

js中let和const有什么用(js中定义变量var 与 let的区别)

时间2025-06-20 22:08:45分类IT科技浏览3790
导读:let 与 var 的区别在于作用域不一样。let被用来做块作用域...

let 与 var 的区别在于作用域不一样            。let被用来做块作用域

            ,它比函数作用域要小一点                 。

如果他们两个都没有被定义在函数中也没有定义在块作用域中                  ,那么他们就都属于全局作用域      。 var 和 let 声明的变量在全局作用域中被定义时     ,两者非常相似 let bar = hehe; var baz = lala; 但是         ,被let声明的变量不会作为全局对象window的属性                  ,而被var声明的变量却可以 console.log(window.bar); //undefined console.log(window.baz); // able

函数作用域 var 和 let 在函数作用域中声明一个变量        ,两个变量的意义是相同的         。

function aFun(){ let bar = hehe; // 函数作用域中的变量 var baz = lala; // 函数作用域中的变量 }

块作用域 在块作用域中两者的区别较为明显      , let只在for()循环中可用                  ,而 var是对于包围for循环的整个函数可用

function aFun1(){ // i 对于for循环外的范围是不可见的(i is not defined) for(let i = 1; i<5; i++){ // i只有在这里是可见的 } // i 对于for循环外的范围是不可见的(i is not defined) } function aFun2(){ // i 对于for循环外的范围是可见的 for(var i = 1;i<5; i++){ // i 在for 在整个函数体内都是可见的 } // i 对于for循环外的范围是可见的 }

let 和var 重新声明

var允许在同一作用域中声明同名的变量           ,而let不可以 let me = foo; let me = bar; //SyntaxError: Identifier me has already been declared var me = foo; var me = bar; //这里me被替代了   ,是可以重复声明的 es6中还有一个声明变量的命令const                  ,const和let都是在声明的块作用域中有效              ,但是let声明的变量可变,值和类型都可以改变               ,没有限制                 。const声明额变量不能改变                 ,所以  ,const一旦声明一个变量            ,就必须马上初始化                  ,不能留到以后赋值 const hehe; //报错     ,Missing initializer in const declaration const a = 3; a = 5; //报错         ,Uncaught TypeError: Assignment to constant variable.

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
typora功能(Typora软件的使用、编程与编程语言、计算机基础、五大组成部分、三大核心硬件、操作系统)