ES6入門(mén)教程之let、const的使用方法
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 21:58:47
ES6入門(mén)教程之let、const的使用方法
ES6入門(mén)教程之let、const的使用方法:一、前提 解決ES5中只有全局作用域和函數(shù)作用域,沒(méi)有塊級(jí)作用域而帶來(lái)的不合理的場(chǎng)景。 let 基本用法 用法和var 一樣,只是let聲明的變量只有在let命令所在的代碼塊有效 { let a = 10; var b = 1; } a // ReferenceError: a
導(dǎo)讀ES6入門(mén)教程之let、const的使用方法:一、前提 解決ES5中只有全局作用域和函數(shù)作用域,沒(méi)有塊級(jí)作用域而帶來(lái)的不合理的場(chǎng)景。 let 基本用法 用法和var 一樣,只是let聲明的變量只有在let命令所在的代碼塊有效 { let a = 10; var b = 1; } a // ReferenceError: a

頂層對(duì)象的屬性
在瀏覽器環(huán)境指的是window對(duì)象,在 Node 指的是global對(duì)象,ES5 之中,頂層對(duì)象的屬性與全局變量是等價(jià)的。
window.a = 1;
a // 1
a = 2;
window.a // 2
global 對(duì)象
ES5 的頂層對(duì)象,本身也是一個(gè)問(wèn)題,因?yàn)樗诟鞣N實(shí)現(xiàn)里面是不統(tǒng)一的。
- 瀏覽器里面,頂層對(duì)象是window,但 Node 和 Web Worker 沒(méi)有window。
- 瀏覽器和 Web Worker 里面,self也指向頂層對(duì)象,但是 Node 沒(méi)有self。
- Node 里面,頂層對(duì)象是global,但其他環(huán)境都不支持。
同一段代碼為了能夠在各種環(huán)境,都能取到頂層對(duì)象,現(xiàn)在一般是使用this變量,但是有局限性。
- 全局環(huán)境中,this會(huì)返回頂層對(duì)象。但是,Node 模塊和 ES6 模塊中,this返回的是當(dāng)前模塊。
- 函數(shù)里面的this,如果函數(shù)不是作為對(duì)象的方法運(yùn)行,而是單純作為函數(shù)運(yùn)行,this會(huì)指向頂層對(duì)象。但是,嚴(yán)格模式下,這時(shí)this會(huì)返回undefined。
- 不管是嚴(yán)格模式,還是普通模式,
new Function('return this')()
,總是會(huì)返回全局對(duì)象。但是,如果瀏覽器用了 CSP(Content Security Policy,內(nèi)容安全策略),那么eval、new Function這些方法都可能無(wú)法使用。
總結(jié)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
ES6入門(mén)教程之let、const的使用方法
ES6入門(mén)教程之let、const的使用方法:一、前提 解決ES5中只有全局作用域和函數(shù)作用域,沒(méi)有塊級(jí)作用域而帶來(lái)的不合理的場(chǎng)景。 let 基本用法 用法和var 一樣,只是let聲明的變量只有在let命令所在的代碼塊有效 { let a = 10; var b = 1; } a // ReferenceError: a