成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

tianren124 / 3335人閱讀

摘要:預(yù)解析作為一門解釋型腳本語言,特點(diǎn)是邊解析邊執(zhí)行。而預(yù)解析則是,提前解析的意思,也就是所說的變量提升。報(bào)錯(cuò)以上相當(dāng)于報(bào)錯(cuò)因?yàn)楦际怯秒[式全局變量,所以答案是,而是用聲明的局部變量,在函數(shù)以外訪問,會(huì)報(bào)錯(cuò)。

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

這里的結(jié)果是undefined而并不是a is not defined。是因?yàn)関ar 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");
};

案例里的坑 一個(gè)鬧心的例子
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 報(bào)錯(cuò) 報(bào)錯(cuò) 報(bào)錯(cuò),后來才發(fā)現(xiàn)里面有坑。
foo();
console.log(c);//9
console.log(b);//9
console.log(a);//報(bào)錯(cuò) a is not defined
function foo(){
    var a=b=c=9;
    console.log(a);//9
    console.log(b);//9
    console.log(c);//9
}

以上相當(dāng)于

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);//報(bào)錯(cuò) a is not defined

因?yàn)閎跟c都是用隱式全局變量,所以答案是9,而a是用var聲明的局部變量,在函數(shù)以外訪問,會(huì)報(bào)錯(cuò)。

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

    AlphaWatch 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<