溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript中l(wèi)et、var和const的區(qū)別有哪些

發(fā)布時間:2020-09-15 09:46:19 來源:億速云 閱讀:142 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了JavaScript中l(wèi)et、var和const的區(qū)別有哪些,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

 在JavaScript中,建議在使用變量和常量時聲明變量名稱(下面統(tǒng)稱為“變量”)。var,let和const是在JavaScript中聲明變量時使用的關(guān)鍵字,其中,let和const是ECMAScript 2015采用的新聲明方法的關(guān)鍵字。

JavaScript中l(wèi)et、var和const的區(qū)別有哪些

ECMAScript 2015(ekma腳本)是JavaScript的標(biāo)準(zhǔn)規(guī)范。由國際組織標(biāo)準(zhǔn)化,在Google Chrome和Internet Explorer 11及更高版本等現(xiàn)代瀏覽器中被廣泛采用。

使用let和const,可以防止錯誤的值被覆蓋,或者錯誤地聲明具有相同名稱的變量。

下面我們就詳細(xì)的看看var,let和const的區(qū)別及用法

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的寫法

基本程序如下。在每個關(guān)鍵字之后,寫下變量名稱和初始值。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時會發(fā)生錯誤。因此,通過聲明一個您不想使用const更改值的變量,可以防止意外更改的的值。

const piyo = 'piyo';
piyo = 'hogehoge';  // 發(fā)生錯誤

運行效果如下

JavaScript中l(wèi)et、var和const的區(qū)別有哪些

如果需要重新分配,可以使用let。由于let相比于var可以在局部設(shè)置變量的有效范圍,因此可以防止錯誤地聲明具有相同名稱的變量。

{
  let fuga = 'fuga';  // 僅在{ ... }中有效 
  fuga = 'fugafuga';  // 重新分配,沒有錯誤
  console.log(fuga);
}
console.log(fuga);  // 發(fā)生錯誤

運行效果如下

JavaScript中l(wèi)et、var和const的區(qū)別有哪些

在大多數(shù)情況下,建議使用const和let。僅在絕對必要時使用var;這可以防止錯誤地使用變量,因此可以減輕編程和調(diào)試的負(fù)擔(dān)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享JavaScript中l(wèi)et、var和const的區(qū)別有哪些內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI