超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]JS的 const、let、var區(qū)別是什么?

freeflydom
2024年6月28日 15:26 本文熱度 2262

ES2015(ES6) 新增加了兩個(gè)重要的 JavaScript 關(guān)鍵字: let 和 const。

let 聲明的變量只在 let 命令所在的代碼塊內(nèi)有效。

const 聲明一個(gè)只讀的常量,一旦聲明,常量的值就不能改變。

在 ES6 之前,JavaScript 只有兩種作用域: 全局變量 與 函數(shù)內(nèi)的局部變量。

在函數(shù)外聲明的變量作用域是全局的:

var carName = "Volvo";

// 這里可以使用 carName 變量

function myFunction() {

    // 這里也可以使用 carName 變量

}

局部變量:函數(shù)內(nèi)使用 var 聲明的變量只能在函數(shù)內(nèi)訪問,如果不使用 var 則是全局變量。

// 這里不能使用 carName 變量

function myFunction() {

    var carName = "Volvo";

    // 這里可以使用 carName 變量

}

// 這里不能使用 carName 變量

JavaScript 塊級作用域(Block Scope)

使用 var 關(guān)鍵字聲明的變量不具備塊級作用域的特性,它在 {} 外依然能被訪問到。

    let x = 2;

}

// 這里不能使用 x 變量

重新定義變量

使用 var 關(guān)鍵字重新聲明變量可能會帶來問題。

在塊中重新聲明變量也會重新聲明塊外的變量:

var x = 10;

// 這里輸出 x 為 10

    var x = 2;

    // 這里輸出 x 為 2

}

// 這里輸出 x 為 2

let 關(guān)鍵字就可以解決這個(gè)問題,因?yàn)樗辉?let 命令所在的代碼塊 {} 內(nèi)有效。

var x = 10;

// 這里輸出 x 為 10

    let x = 2;

    // 這里輸出 x 為 2

}

// 這里輸出 x 為 10

循環(huán)作用域

使用 var 關(guān)鍵字:

var i = 5;

for (var i = 0; i < 10; i++) {

    // 一些代碼...

}

// 這里輸出 i 為 10

使用 let 關(guān)鍵字:

var i = 5;

for (let i = 0; i < 10; i++) {

    // 一些代碼...

}

// 這里輸出 i 為 5

在第一個(gè)實(shí)例中,使用了 var 關(guān)鍵字,它聲明的變量是全局的,包括循環(huán)體內(nèi)與循環(huán)體外。

在第二個(gè)實(shí)例中,使用 let 關(guān)鍵字, 它聲明的變量作用域只在循環(huán)體內(nèi),循環(huán)體外的變量不受影響。

HTML 代碼中使用全局變量

在 JavaScript 中, 全局作用域是針對 JavaScript 環(huán)境。

在 HTML 中, 全局作用域是針對 window 對象。

使用 var 關(guān)鍵字聲明的全局作用域變量屬于 window 對象:

var carName = "Volvo";

// 可以使用 window.carName 訪問變量

let carName = "Volvo";

// 不能使用 window.carName 訪問變量

const 關(guān)鍵字

const 用于聲明一個(gè)或多個(gè)常量,聲明時(shí)必須進(jìn)行初始化,且初始化后值不可再修改。

const定義常量與使用let 定義的變量相似:

  • 二者都是塊級作用域

  • 都不能和它所在作用域內(nèi)的其他變量或函數(shù)擁有相同的名稱

兩者還有以下兩點(diǎn)區(qū)別:

  • const聲明的常量必須初始化,而let聲明的變量不用

  • const 定義常量的值不能通過再賦值修改,也不能再次聲明。而 let 定義的變量值可以修改。


總結(jié)筆記:

使用var關(guān)鍵字聲明的全局作用域變量屬于window對象。

使用let關(guān)鍵字聲明的全局作用域變量不屬于window對象。

使用var關(guān)鍵字聲明的變量在任何地方都可以修改。

在相同的作用域或塊級作用域中,不能使用let關(guān)鍵字來重置var關(guān)鍵字聲明的變量。

在相同的作用域或塊級作用域中,不能使用let關(guān)鍵字來重置let關(guān)鍵字聲明的變量。

let關(guān)鍵字在不同作用域,或不用塊級作用域中是可以重新聲明賦值的。

在相同的作用域或塊級作用域中,不能使用const關(guān)鍵字來重置var和let關(guān)鍵字聲明的變量。

在相同的作用域或塊級作用域中,不能使用const關(guān)鍵字來重置const關(guān)鍵字聲明的變量

const 關(guān)鍵字在不同作用域,或不同塊級作用域中是可以重新聲明賦值的:

var關(guān)鍵字定義的變量可以先使用后聲明。

let關(guān)鍵字定義的變量需要先聲明再使用。

const關(guān)鍵字定義的常量,聲明時(shí)必須進(jìn)行初始化,且初始化后不可再修改。


轉(zhuǎn)自菜鳥教程


該文章在 2024/6/28 15:28:44 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved