最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中var let const的用法有哪些區(qū)別

 更新時(shí)間:2021年10月19日 14:11:30   作者:daixiangcn  
在ES6(ES2015)出現(xiàn)之前,JavaScript中聲明變量就只有通過(guò)var關(guān)鍵字,函數(shù)聲明是通過(guò)function關(guān)鍵字,而在ES6之后,聲明的方式有var、let、const、function、class,本文主要討論var、let和const之間的區(qū)別

1.重復(fù)聲明

var支持重復(fù)聲明,let、const不支持重復(fù)聲明。

1.1 var

var a = 1;
var a = 2;
console.log(a);

輸出結(jié)果:

2

1.2 let

let b = 3;
let b = 4;
console.log(b);

輸出結(jié)果:

Uncaught SyntaxError: Identifier 'b' has already been declared

1.3 const

const c = 5;
const c = 6;
console.log(c);

輸出結(jié)果:

Uncaught SyntaxError: Identifier 'c' has already been declared

2.變量提升

var支持變量提升,但是只提升聲明不提升值。let、const不支持變量提升。

2.1 var

a=2;
console.log(a);
var a = 1;

輸出結(jié)果:

2

2.2 let

a=2;
console.log(a);
let a = 1;

輸出結(jié)果:

Uncaught ReferenceError: Cannot access 'a' before initialization at index.html:28

2.3 const

a=2;
console.log(a);
const a = 1;

輸出結(jié)果:

Uncaught ReferenceError: Cannot access 'a' before initialization at index.html:28

3.暫時(shí)性死區(qū)

var不存在暫時(shí)性死區(qū),let、const存在暫時(shí)性死區(qū)。
只要作用域內(nèi)存在let、const,它們所聲明的變量或常量就自動(dòng)“綁定”在這個(gè)區(qū)域,不再受外部作用域影響。

3.1 var

var a = 1;
function fun() {
    console.log(a);
    var a = 2;
}
fun();

輸出結(jié)果:

undefined

3.2 let

let a = 1;
function fun() {
    console.log(a);
    let a = 2;
}
fun();

輸出結(jié)果:

Uncaught ReferenceError: Cannot access 'a' before initialization

3.3 conset

let a = 1;
function fun() {
    console.log(a);
    const a = 2;
}
fun();

輸出結(jié)果:

Uncaught ReferenceError: Cannot access 'a' before initialization

4. window對(duì)象的屬性和方法

全局作用域中,var聲明的變量、通過(guò)function聲明的函數(shù),會(huì)自動(dòng)變成window對(duì)象的屬性和方法。

var a = 1;
function add() { };
console.log(window.a === a);
console.log(window.add === add);

輸出結(jié)果:

true
true

5.塊級(jí)作用域

var沒有塊級(jí)作用域,let、const有塊級(jí)作用域。
使用var在for循環(huán)中定義變量i:

for (var i = 0; i < 3; i++) {
    // console.log(i);
}
console.log(i);

輸出結(jié)果:

3

使用let在for循環(huán)中定義變量i:

for (let i = 0; i < 3; i++) {
    // console.log(i);
}
console.log(i);

輸出結(jié)果:

Uncaught ReferenceError: i is not defined

到此這篇關(guān)于JavaScript中var let const的用法有哪些區(qū)別的文章就介紹到這了,更多相關(guān)JavaScript var用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • zeroclipboard復(fù)制到剪切板的flash

    zeroclipboard復(fù)制到剪切板的flash

    雖然網(wǎng)上實(shí)現(xiàn)Ctrl + C的JS代碼已經(jīng)有很多了,但我還是向大家推薦一個(gè)比較好的插件zeroclipboard,兼容所有瀏覽器
    2010-08-08
  • JavaScript中5種調(diào)用函數(shù)的方法

    JavaScript中5種調(diào)用函數(shù)的方法

    這篇文章主要介紹了JavaScript中5種調(diào)用函數(shù)的方法,本文詳細(xì)的介紹了Javascript中各種函數(shù)調(diào)用的方法及其原理,對(duì)于理解JavaScript的函數(shù)有很大的幫助,需要的朋友可以參考下
    2015-03-03
  • Javascript typeof 用法

    Javascript typeof 用法

    在js里用到數(shù)組,比如 多個(gè)名字相同的input, 若是動(dòng)態(tài)生成的, 提交時(shí)就需要判斷其是否是數(shù)組.
    2008-12-12
  • JS實(shí)現(xiàn)仿新浪微博發(fā)布內(nèi)容為空時(shí)提示功能代碼

    JS實(shí)現(xiàn)仿新浪微博發(fā)布內(nèi)容為空時(shí)提示功能代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)仿新浪微博發(fā)布內(nèi)容為空時(shí)提示功能,
    2015-08-08
  • JavaScript實(shí)現(xiàn)判斷圖片是否加載完成的3種方法整理

    JavaScript實(shí)現(xiàn)判斷圖片是否加載完成的3種方法整理

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)判斷圖片是否加載完成的3種方法整理,本文講解了onload方法、javascipt原生方法、jquery方法三種方法,需要的朋友可以參考下
    2015-03-03
  • fmt:formatDate的輸出格式詳解

    fmt:formatDate的輸出格式詳解

    本篇文章主要是對(duì)fmt:formatDate的輸出格式進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • JavaScript正則表達(dá)式實(shí)例詳解

    JavaScript正則表達(dá)式實(shí)例詳解

    在編寫處理字符串的程序或網(wǎng)頁(yè)時(shí),經(jīng)常會(huì)有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的工具。換句話說(shuō),正則表達(dá)式就是記錄文本規(guī)則的代碼。
    2016-10-10
  • js獲取判斷上傳文件后綴名的示例代碼

    js獲取判斷上傳文件后綴名的示例代碼

    本篇文章主要是對(duì)js獲取判斷上傳文件后綴名的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-02-02
  • JS中正則表達(dá)式只有3種匹配模式(沒有單行模式)詳解

    JS中正則表達(dá)式只有3種匹配模式(沒有單行模式)詳解

    下面小編就為大家?guī)?lái)一篇JS中正則表達(dá)式只有3種匹配模式(沒有單行模式)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • JavaScript的模塊化:封裝(閉包),繼承(原型) 介紹

    JavaScript的模塊化:封裝(閉包),繼承(原型) 介紹

    在復(fù)雜的邏輯下, JavaScript 需要被模塊化,模塊需要封裝起來(lái),只留下供外界調(diào)用的接口。閉包是 JavaScript 中實(shí)現(xiàn)模塊封裝的關(guān)鍵,也是很多初學(xué)者難以理解的要點(diǎn)
    2013-07-07

最新評(píng)論

临武县| 芜湖县| 涟水县| 新民市| 孟州市| 平武县| 德昌县| 江津市| 尖扎县| 成安县| 武定县| 新和县| 斗六市| 河西区| 南岸区| 凤台县| 洛浦县| 东平县| 长春市| 边坝县| 大英县| 吉林市| 津市市| 邢台市| 苍南县| 安宁市| 宿松县| 罗甸县| 荆门市| 乌鲁木齐县| 安岳县| 昭平县| 道真| 绍兴县| 剑河县| 沙雅县| 沛县| 宕昌县| 津市市| 金堂县| 修武县|