国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js預(yù)解析以及案例里的坑

tianren124 / 3281人閱讀

摘要:預(yù)解析作為一門解釋型腳本語言,特點是邊解析邊執(zhí)行。而預(yù)解析則是,提前解析的意思,也就是所說的變量提升。報錯以上相當于報錯因為跟都是用隱式全局變量,所以答案是,而是用聲明的局部變量,在函數(shù)以外訪問,會報錯。

js預(yù)解析
js作為一門解釋型腳本語言,特點是邊解析邊執(zhí)行。而預(yù)解析則是,提前解析的意思,也就是所說的變量提升。
console.log(a);
var a = 10;//undefined

這里的結(jié)果是undefined而并不是a is not defined。是因為var a被提升到console.log之前,即

var a;
console.log(a);
var a = 10;//undefined

但是函數(shù)提升則不是undefined的結(jié)果,而是結(jié)果正常。

function foo(){
    console.log("aaa");
};
foo();//aaa

VS

foo();//aaa
function foo(){
    console.log("aaa");
};

案例里的坑 一個鬧心的例子
foo();//20
var number =20;
function foo(){
    console.log(number);
}

函數(shù)的例子
foo();//undefined
var number =20;
function foo(){
    console.log(number);
    var number = 10;
}

函數(shù)提升了,函數(shù)中的變量number也被提升了,結(jié)果就成了undefined

隱藏的隱式全局變量
以下剛開始,我的答案是9 9 9 報錯 報錯 報錯,后來才發(fā)現(xiàn)里面有坑。
foo();
console.log(c);//9
console.log(b);//9
console.log(a);//報錯 a is not defined
function foo(){
    var a=b=c=9;
    console.log(a);//9
    console.log(b);//9
    console.log(c);//9
}

以上相當于

function foo(){
    var a;
        c = 9;
        b = c;
        a = b;
    console.log(a);//9
    console.log(b);//9
    console.log(c);//9
}
foo();
console.log(c);//9
console.log(b);//9
console.log(a);//報錯 a is not defined

因為b跟c都是用隱式全局變量,所以答案是9,而a是用var聲明的局部變量,在函數(shù)以外訪問,會報錯。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/94665.html

相關(guān)文章

  • 【連載】前端個人文章整理-從基礎(chǔ)到入門

    摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評論0 收藏0
  • Nextjs中文文檔

    摘要:中文站點中文站當前翻譯版本為。注意將不能使用在子組件中。只能使用在頁面中。替換路由組件默認將新推入路由棧中。以防服務(wù)端渲染發(fā)生錯誤,建議事件寫在生命周期里。禁止文件路由默認情況,將會把下的所有文件匹配路由如渲染為如果你的項目使用 Next.js 是一個輕量級的 React 服務(wù)端渲染應(yīng)用框架。 Next.js中文站點 http://nextjs.frontendx.cn Next.j...

    luckyw 評論0 收藏0
  • 深入理解 Javascript 之 作用域

    摘要:作用域是門動態(tài)語言,跟不一樣,可以隨意定義全局變量和局部變量,變量會在該作用域下提升,而且沒有塊級作用域。一預(yù)處理作用域解析的作用域只用兩種,一個是全局的,一個是函數(shù)的,也稱為全局作用域和局部作用域局部作用域可以訪問全局作用域。 作用域 JavaScript是門動態(tài)語言,跟Java不一樣,JavaScript可以隨意定義全局變量和局部變量,變量會在該作用域下提升,而且JavaScrip...

    banana_pi 評論0 收藏0
  • Javascript中的作用域

    摘要:作用域的概念所謂作用域,作用就是指讀,寫等操作,而域便是指空間,范圍等中的域有是全局的域,相應(yīng)地里面的變量就是全局變量,函數(shù)就是全局函數(shù)如果有多個包住的域的話,函數(shù)會自上而下執(zhí)行,比如寫了兩的時候便會從上到下先執(zhí)行第一個再執(zhí)行第二個的代碼比 作用 域的概念 所謂作用域,作用就是指讀,寫等操作,而域便是指空間,范圍等 js中的域有 1.script script是全局的域,相應(yīng)地里面的變...

    AlphaWatch 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<