色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript三種變量

JavaScript是一種動(dòng)態(tài)類(lèi)型語(yǔ)言,它有三種變量類(lèi)型:var、let和const。這三種變量類(lèi)型都有其獨(dú)特的特點(diǎn),我們來(lái)詳細(xì)了解一下。

var 是ES5引入的變量聲明方式,是JavaScript中最常用、最傳統(tǒng)的一種聲明變量的方法。var 聲明的變量是函數(shù)級(jí)作用域。

var str = 'hello, world'
if (true) {
var str = 'hello, JavaScript'
console.log(str) // 'hello, JavaScript'
}
console.log(str) // 'hello, JavaScript'

上面的代碼可以看到,if語(yǔ)句塊內(nèi)部重新聲明了str變量,這里的是最外層的str變量被改變了。因?yàn)関ar 聲明的變量是函數(shù)級(jí)作用域,不存在塊級(jí)作用域。

let 是ES6引入的變量聲明方式,let 聲明的變量是塊級(jí)作用域。

let str = 'hello, world'
if (true) {
let str = 'hello, JavaScript'
console.log(str) // 'hello, JavaScript'
}
console.log(str) // 'hello, world'

上面的代碼,當(dāng)if語(yǔ)句塊中聲明了與外部同名的str變量時(shí),它會(huì)覆蓋外部的變量,但是這里的if語(yǔ)句塊中的變量str只會(huì)在花括號(hào)內(nèi)部存在,一旦離開(kāi)花括號(hào)的作用域,變量就被銷(xiāo)毀了。

const 聲明的變量與 let 一樣是塊級(jí)作用域,但是它的值是不可變的。

const PI = 3.1415926
PI = 3 // TypeError: Assignment to constant variable.

上面的代碼將會(huì)拋出 TypeError。因?yàn)閏onst 聲明的變量值是不可變的。但是const 聲明的變量不是完全不可變的,更準(zhǔn)確來(lái)說(shuō)是指它的指針地址不可變。

總結(jié)一下,當(dāng)我們需要定義一個(gè)只在某個(gè)作用域內(nèi)應(yīng)用的變量時(shí),建議使用 let 聲明,而在函數(shù)中聲明變量時(shí),無(wú)論如何都應(yīng)該使用 var。用 const 聲明一個(gè)常量If you need to declare a variable that has a value that should never be changed, you should always use const.