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

資訊專欄INFORMATION COLUMN

javascript之作用域

Cheriselalala / 3043人閱讀

摘要:結(jié)果結(jié)果函數(shù)定義式函數(shù)表達(dá)式結(jié)果預(yù)編譯是以段為處理單元結(jié)果作用域鏈代碼優(yōu)化在標(biāo)識(shí)符解析的時(shí)候,查找全局變量是最慢的,所以盡量使用局部變量。全局變量的被調(diào)用兩次,查找該變量必須遍歷整個(gè)作用域鏈,耗費(fèi)時(shí)間可以把它存儲(chǔ)到局部變量里再使用。

作用域?qū)傩允窃诙x函數(shù)的時(shí)候決定的,不是在調(diào)用函數(shù)的時(shí)候決定。

JavaScript中的函數(shù)運(yùn)行在它們被定義的作用域里,而不是它們被執(zhí)行的作用域里。

eg.

var name = "lw";

function alert_1 () {

  alert(name);

}

function alert_2 () {

 var name = "zgm";

 alert_1();

}

alert_2();// 結(jié)果:lw

js的預(yù)編譯:

在一段js代碼執(zhí)行之前,會(huì)預(yù)先處理var關(guān)鍵字和function定義式(函數(shù)表達(dá)式和函數(shù)定義式),對(duì)于局部變量,變量的值會(huì)在真正執(zhí)行的時(shí)候計(jì)算。

函數(shù)定義注意:函數(shù)定義式和函數(shù)表達(dá)式的不同, 對(duì)于函數(shù)定義式, 會(huì)將函數(shù)定義提前.而函數(shù)表達(dá)式, 會(huì)在執(zhí)行過程中才計(jì)算。

eg.

alert(typeof hello);//結(jié)果:function

alert(typeof world);//結(jié)果:undefined

function hello(){ //函數(shù)定義式

   alert("hello");

}

var world=function(){ //函數(shù)表達(dá)式

  alert("world");

}

alert(typeof world);//結(jié)果:function

js預(yù)編譯是以段為處理單元

作用域鏈代碼優(yōu)化在標(biāo)識(shí)符解析的時(shí)候,查找全局變量是最慢的,所以盡量使用局部變量。

function changeColor(){

  var doc=document;

doc.getElementById("NM").onclick=function(){
    doc.getElementById("AL").style.backgroundColor="red";

  };

}

全局變量document的被調(diào)用兩次,查找該變量必須遍歷整個(gè)作用域鏈,耗費(fèi)時(shí)間,可以把它存儲(chǔ)到局部變量里再使用。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/81581.html

相關(guān)文章

  • JavaScript深入作用

    摘要:下面,讓我們以一個(gè)函數(shù)的創(chuàng)建和激活兩個(gè)時(shí)期來講解作用域鏈?zhǔn)侨绾蝿?chuàng)建和變化的。這時(shí)候執(zhí)行上下文的作用域鏈,我們命名為至此,作用域鏈創(chuàng)建完畢。 JavaScript深入系列第五篇,講述作用鏈的創(chuàng)建過程,最后結(jié)合著變量對(duì)象,執(zhí)行上下文棧,讓我們一起捋一捋函數(shù)創(chuàng)建和執(zhí)行的過程中到底發(fā)生了什么? 前言 在《JavaScript深入之執(zhí)行上下文棧》中講到,當(dāng)JavaScript代碼執(zhí)行一段可執(zhí)行代...

    waltr 評(píng)論0 收藏0
  • JavaScript深入詞法作用和動(dòng)態(tài)作用

    摘要:作用域作用域是指程序源代碼中定義變量的區(qū)域。采用詞法作用域,也就是靜態(tài)作用域。而與詞法作用域相對(duì)的是動(dòng)態(tài)作用域,函數(shù)的作用域是在函數(shù)調(diào)用的時(shí)候才決定的。前面我們已經(jīng)說了,采用的是靜態(tài)作用域,所以這個(gè)例子的結(jié)果是。 JavaScript深入系列的第二篇,JavaScript采用詞法作用域,什么語言采用了動(dòng)態(tài)作用域??jī)烧叩膮^(qū)別又是什么?還有一個(gè)略難的思考題,快來看看吧。 作用域 作用域是指...

    gclove 評(píng)論0 收藏0
  • JavaScript深入執(zhí)行上下文

    摘要:深入系列第七篇,結(jié)合之前所講的四篇文章,以權(quán)威指南的為例,具體講解當(dāng)函數(shù)執(zhí)行的時(shí)候,執(zhí)行上下文棧變量對(duì)象作用域鏈?zhǔn)侨绾巫兓摹G把栽谏钊胫畧?zhí)行上下文棧中講到,當(dāng)代碼執(zhí)行一段可執(zhí)行代碼時(shí),會(huì)創(chuàng)建對(duì)應(yīng)的執(zhí)行上下文。 JavaScript深入系列第七篇,結(jié)合之前所講的四篇文章,以權(quán)威指南的demo為例,具體講解當(dāng)函數(shù)執(zhí)行的時(shí)候,執(zhí)行上下文棧、變量對(duì)象、作用域鏈?zhǔn)侨绾巫兓摹?前言 在《Jav...

    gougoujiang 評(píng)論0 收藏0
  • 【進(jìn)階2-3期】JavaScript深入閉包面試題解

    摘要:閉包面試題解由于作用域鏈機(jī)制的影響,閉包只能取得內(nèi)部函數(shù)的最后一個(gè)值,這引起的一個(gè)副作用就是如果內(nèi)部函數(shù)在一個(gè)循環(huán)中,那么變量的值始終為最后一個(gè)值。 (關(guān)注福利,關(guān)注本公眾號(hào)回復(fù)[資料]領(lǐng)取優(yōu)質(zhì)前端視頻,包括Vue、React、Node源碼和實(shí)戰(zhàn)、面試指導(dǎo)) 本周正式開始前端進(jìn)階的第二期,本周的主題是作用域閉包,今天是第8天。 本計(jì)劃一共28期,每期重點(diǎn)攻克一個(gè)面試重難點(diǎn),如果你還不了...

    alanoddsoff 評(píng)論0 收藏0
  • 進(jìn)擊JavaScript(二)詞法作用作用

    摘要:一作用域域表示的就是范圍,即作用域,就是一個(gè)名字在什么地方可以使用,什么時(shí)候不能使用。概括的說作用域就是一套設(shè)計(jì)良好的規(guī)則來存儲(chǔ)變量,并且之后可以方便地找到這些變量。 一、作用域 域表示的就是范圍,即作用域,就是一個(gè)名字在什么地方可以使用,什么時(shí)候不能使用。想了解更多關(guān)于作用域的問題推薦閱讀《你不知道的JavaScript上卷》第一章(或第一部分),從編譯原理的角度說明什么是作用域。概...

    denson 評(píng)論0 收藏0
  • 深入理解 Javascript 作用

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

    banana_pi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<