您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关js中关键字var和let有什么区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
首先我们了解一下关键字var和let有什么作用?如何使用?
关键字var
var语句在javascript中声明一个变量。
var a = 10;
说明:
1、变量声明在代码执行之前被处理。
2、用var声明的JavaScript变量的范围是其当前执行上下文。
3、在函数之外声明的JavaScript变量的范围是全局的。
function nodeSimplified(){ var a =10; console.log(a); // 输出: 10 if(true){ var a=20; console.log(a); // 输出: 20 } console.log(a); // 输出: 20 }
在上面的代码中,当在if循环内更新变量时,你会发现变量“a”的值全局更新为20,因此在if循环之外值仍然存在。它类似于其他语言中的全局变量。但是,请务必小心使用此功能,因为可能会覆盖现有值。
关键字let
let语句在块作用域中声明一个局部变量。
let a =10;
说明:
let语句允许我们创建一个变量,其范围仅限于使用它的块里。
它类似于我们在Java,.NET等其他语言中声明的变量。
function nodeSimplified(){ let a =10; console.log(a); // 输出: 10 if(true){ let a=20; console.log(a); // 输出: 20 } console.log(a); // 输出: 10 }
关键字var和let的区别
在javascript中,关键字var和let都是可以用来声明变量的,那么他们有什么区别?
作用域
var是函数作用域,而let是块作用域。
可以说,与let相比,用var声明的变量在整个程序中被定义。
变量提升
let不会提升到它们出现的块的整个范围。相比之下,var可以如下所示提升。
// 定义后调用变量x var x = 5; document.write(x, "\n"); // 定义后调用变量y let y = 10; document.write(y, "\n"); //先调用变量z,在使用var定义变量z document.write(z, "\n"); //显示undefined var z = 2; // 先调用变量a,在使用var定义变量a document.write(a); //报错 let a = 3;
运行:
重声明
在strict模式下,var将允许我们在同一范围内重新声明相同的变量;但,let不行:
'use strict'; var me = 'foo'; var me = 'bar'; // 此时,变量me里的值为bar
'use strict'; let me = 'foo'; let me = 'bar'; // 报错: 标识符“me”已被声明
关于js中关键字var和let有什么区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。