欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

javascript域的簡單介紹

什么是js作用域

執(zhí)行環(huán)境(execution context,為簡單起見,有時也稱為“環(huán)境”)是 JavaScript 中最為重要的一個概 念。執(zhí)行環(huán)境定義了變量或函數(shù)有權(quán)訪問的其他數(shù)據(jù),決定了它們各自的行為。每個執(zhí)行環(huán)境都有一個 與之關(guān)聯(lián)的變量對象(variable object),環(huán)境中定義的所有變量和函數(shù)都保存在這個對象中。雖然我們 編寫的代碼無法訪問這個對象,但解析器在處理數(shù)據(jù)時會在后臺使用它。 全局執(zhí)行環(huán)境是最外圍的一個執(zhí)行環(huán)境。根據(jù) ECMAScript 實現(xiàn)所在的宿主環(huán)境不同,表示執(zhí)行環(huán) 境的對象也不一樣。在 Web 瀏覽器中,全局執(zhí)行環(huán)境被認(rèn)為是 window 對象(第 7 章將詳細(xì)討論),因 此所有全局變量和函數(shù)都是作為 window 對象的屬性和方法創(chuàng)建的。某個執(zhí)行環(huán)境中的所有代碼執(zhí)行完 畢后,該環(huán)境被銷毀,保存在其中的所有變量和函數(shù)定義也隨之銷毀(全局執(zhí)行環(huán)境直到應(yīng)用程序退 出——例如關(guān)閉網(wǎng)頁或瀏覽器——時才會被銷毀)。 每個函數(shù)都有自己的執(zhí)行環(huán)境。當(dāng)執(zhí)行流進(jìn)入一個函數(shù)時,函數(shù)的環(huán)境就會被推入一個環(huán)境棧中。 而在函數(shù)執(zhí)行之后,棧將其環(huán)境彈出,把控制權(quán)返回給之前的執(zhí)行環(huán)境。ECMAScript 程序中的執(zhí)行流 正是由這個方便的機制控制著。 當(dāng)代碼在一個環(huán)境中執(zhí)行時,會創(chuàng)建變量對象的一個作用域鏈(scope chain)。作用域鏈的用途,是 保證對執(zhí)行環(huán)境有權(quán)訪問的所有變量和函數(shù)的有序訪問。作用域鏈的前端,始終都是當(dāng)前執(zhí)行的代碼所 在環(huán)境的變量對象。如果這個環(huán)境是函數(shù),則將其活動對象(activation object)作為變量對象。活動對 象在最開始時只包含一個變量,即 arguments 對象(這個對象在全局環(huán)境中是不存在的)。作用域鏈中 的下一個變量對象來自包含(外部)環(huán)境,而再下一個變量對象則來自下一個包含環(huán)境。這樣,一直延 續(xù)到全局執(zhí)行環(huán)境;全局執(zhí)行環(huán)境的變量對象始終都是作用域鏈中的最后一個對象。

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、雁塔網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為雁塔等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

如何理解javascript的作用域?

打個比方:

你在自己家里面說的話,只限于你的家人聽見,鄰居是聽不見的,對吧?如果你走到屋外,大聲嚷嚷,那么不但你家人能聽見,周圍的街坊鄰居也都能聽見。繼續(xù)往大了說,如果你是國家電視臺的一個主播,那么你在電視上說的話,全國人都能聽見……

這就是作用域。程序結(jié)構(gòu)是分層次的,處在最底層的一個變量(設(shè)為a),它就只能在它所在的那個小范圍中起作用,其他地方它是無效的;而另一個變量(設(shè)為b)所在的層次比a要高,那么b就能在它下屬的各個層次中起作用(當(dāng)然也包括a所在的層次);依此類推,如果一個變量是處在最頂層的(也就是全局變量),那么它的作用域就是整個程序。

javascript作用域如何理解

結(jié)果依次是undefined,2,1

js在語法分析階段會掃描本作用域內(nèi)的所有變量聲明并提前,于是你的f函數(shù)體內(nèi)就相當(dāng)于這樣:

var a;

console.log(a); //undefined

a = 2;

console.log(a); //2

函數(shù)外的a就是全局變量的a=1了

JavaScript的作用域怎么理解?

作用域是可以訪問變量的集合,能夠定義全局作用或者局部作用域

javascript的兩種變量作用域有什么不同

javascript 中有 全局變量和局部變量。

先說全局變量吧 全局變量在整個javascript程序里都是可以訪問的,它寫在任何函數(shù)體外。就稱為全局變量。

再說局部變量 局部變量就是在函數(shù)體內(nèi)的變量。函數(shù)外部無法訪問子函數(shù)的變量,但是函數(shù)內(nèi)部的子函數(shù)可以訪問外圍函數(shù)的變量。

分享文章:javascript域的簡單介紹
鏈接地址:http://chinadenli.net/article15/dsgcodi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站網(wǎng)站制作品牌網(wǎng)站建設(shè)小程序開發(fā)App設(shè)計移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)