温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript中let、var和const的区别有哪些

发布时间:2020-09-15 09:46:19 来源:亿速云 阅读:153 作者:小新 栏目:web开发

这篇文章主要介绍了JavaScript中let、var和const的区别有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

 在JavaScript中,建议在使用变量和常量时声明变量名称(下面统称为“变量”)。var,let和const是在JavaScript中声明变量时使用的关键字,其中,let和const是ECMAScript 2015采用的新声明方法的关键字。

JavaScript中let、var和const的区别有哪些

ECMAScript 2015(ekma脚本)是JavaScript的标准规范。由国际组织标准化,在Google Chrome和Internet Explorer 11及更高版本等现代浏览器中被广泛采用。

使用let和const,可以防止错误的值被覆盖,或者错误地声明具有相同名称的变量。

下面我们就详细的看看var,let和const的区别及用法

var

在var中,你可以重新声明并重新分配。

var techacademy = '初始值ok';
techacademy = '重新分配ok';
var techacademy = '重新声明ok';

let

let中禁止重新声明

let techacademy = '初始值ok';
techacademy = '重新分配ok';
let techacademy = '重新声明no';

const

在const中,禁止重新声明和重新分配。

const techacademy = '初始值ok';
techacademy = '重新分配no';
const techacademy = '重新声明no';

下面我们就来通过例子具体的说明let、var和const

let、var和const的写法

基本程序如下。在每个关键字之后,写下变量名称和初始值。var和let的初始值可以省略。

var hoge1 = 'hoge1';
var hoge2;  // 省略初始值的写法
let fuga1 = 'fuga1';
let fuga2;  // 省略初始值的写法
const piyo = 'piyo'; // const的初始值不能省略

let、var和const的使用范围

var,let,const的使用范围是不同的。

例如,如果var在if语句之外声明,则它也可以在if语句中使用。

let和const超出范围就不能使用了。

if (1) {
var x = 'ok';
let y = 'no';
const z = 'no';
}
console.log(x); //可以使用
console.log(y); //范围外,错误
console.log(z); //范围外,错误

我们来看具体的示例

变量声明基本上是使用const。重新分配const时会发生错误。因此,通过声明一个您不想使用const更改值的变量,可以防止意外更改的的值。

const piyo = 'piyo';
piyo = 'hogehoge';  // 发生错误

运行效果如下

JavaScript中let、var和const的区别有哪些

如果需要重新分配,可以使用let。由于let相比于var可以在局部设置变量的有效范围,因此可以防止错误地声明具有相同名称的变量。

{
  let fuga = 'fuga';  // 仅在{ ... }中有效 
  fuga = 'fugafuga';  // 重新分配,没有错误
  console.log(fuga);
}
console.log(fuga);  // 发生错误

运行效果如下

JavaScript中let、var和const的区别有哪些

在大多数情况下,建议使用const和let。仅在绝对必要时使用var;这可以防止错误地使用变量,因此可以减轻编程和调试的负担。

感谢你能够认真阅读完这篇文章,希望小编分享JavaScript中let、var和const的区别有哪些内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI