亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

《JavaScript高級(jí)程序設(shè)計(jì)(第3版)》——變量、作用域和內(nèi)存問(wèn)題(四)

YacaToy / 1408人閱讀

摘要:執(zhí)行環(huán)境的類(lèi)型有兩種全局全局執(zhí)行環(huán)境局部函數(shù)執(zhí)行環(huán)境每個(gè)環(huán)境都可以向上搜索作用域鏈,以查詢變量和函數(shù)名但任何環(huán)境都不能通過(guò)向下搜索作用域鏈而進(jìn)入另一個(gè)執(zhí)行環(huán)境。內(nèi)部可通過(guò)作用域鏈訪問(wèn)外部,外部不能訪問(wèn)內(nèi)部。

變量、作用域和內(nèi)存問(wèn)題 ECMAScript 數(shù)據(jù)類(lèi)型 基本類(lèi)型(5種):

Undefined,NullBoolean,Number,String

typeof() 檢測(cè)一個(gè)變量是否是基本數(shù)據(jù)類(lèi)型

基本類(lèi)型在內(nèi)存中占據(jù)固定大小的空間,因此被保存在 內(nèi)存中。

從一個(gè)變量向另一個(gè)變量復(fù)制 基本類(lèi)型 的值,會(huì)創(chuàng)建這個(gè)值的一個(gè)副本。

引用類(lèi)型:

保存在內(nèi)存中的對(duì)象。

引用類(lèi)型的值是對(duì)象,保存在 內(nèi)存中。

instanceof() 檢測(cè)是什么類(lèi)型的對(duì)象

alert (color instanceof Array)  // true or false
alert (persion instanceof Object) // true

包含引用類(lèi)型值的變量實(shí)際上包含的并不是對(duì)象本身,而是一個(gè)指向該對(duì)象的指針。

從一個(gè)變量向另一個(gè)變量復(fù)制 引用類(lèi)型 的值,復(fù)制的其實(shí)是指針,因此兩個(gè)變量最終都指向同一個(gè)對(duì)象。

執(zhí)行環(huán)境及作用域

所有變量(包括基本類(lèi)型和引用類(lèi)型)都存在于一個(gè)執(zhí)行環(huán)境當(dāng)中,這個(gè)執(zhí)行環(huán)境(也稱(chēng)為作用域)決定了變量的生命周期,以及哪一部分代碼可以訪問(wèn)其中的變量。

執(zhí)行環(huán)境的類(lèi)型有兩種:

全局(全局執(zhí)行環(huán)境)

局部(函數(shù)執(zhí)行環(huán)境)

每個(gè)環(huán)境都可以向上搜索作用域鏈,以查詢變量和函數(shù)名;但任何環(huán)境都不能通過(guò)向下搜索作用域鏈而進(jìn)入另一個(gè)執(zhí)行環(huán)境。(內(nèi)部可通過(guò)作用域鏈訪問(wèn)外部,外部不能訪問(wèn)內(nèi)部)。

延長(zhǎng)作用域鏈

當(dāng)執(zhí)行流進(jìn)入下列任何一個(gè)語(yǔ)句時(shí),作用域鏈就會(huì)得到加長(zhǎng):

try-catch 語(yǔ)句的catch

with語(yǔ)句

沒(méi)有塊級(jí)作用域

對(duì)于 javascript 來(lái)說(shuō),由 for 語(yǔ)句創(chuàng)建的變量 i 在 for 循環(huán)結(jié)束后,也依舊存在于循環(huán)外部的執(zhí)行環(huán)境中。

for (var i =0; i < 10; i++) {
    doSomething(i);
}
alert(i); //10

聲明變量:

使用 var 聲明:添加到最接近的環(huán)境中。

不用 var 聲明,自動(dòng)添加到全局環(huán)境。所以建議一定要先聲明。

查詢標(biāo)識(shí)符:

從作用域的前端開(kāi)始,向上逐級(jí)查詢與給定名字匹配的標(biāo)識(shí)符。

垃圾收集

JavaScript 具有自動(dòng)垃圾收集機(jī)制,也就是說(shuō),執(zhí)行環(huán)境會(huì)負(fù)責(zé)管理代碼執(zhí)行過(guò)程中使用的內(nèi)存。

原理:找出那些不再使用的變量,然后釋放其占用的內(nèi)存。垃圾回收器會(huì)按照固定的時(shí)間間隔周期性的執(zhí)行這一操作。

通常有兩個(gè)策略:

標(biāo)記清除(最常用的垃圾清除方式) 引用計(jì)數(shù)(不太常見(jiàn))

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/103218.html

相關(guān)文章

  • JavaScript高級(jí)程序設(shè)計(jì)》(3)讀書(shū)筆記 4章 變量、作用域和內(nèi)存問(wèn)題

    摘要:具體說(shuō)就是執(zhí)行流進(jìn)入下列任何一個(gè)語(yǔ)句時(shí),作用域鏈就會(huì)得到加長(zhǎng)語(yǔ)句的塊。如果局部環(huán)境中存在著同名的標(biāo)識(shí)符,就不會(huì)使用位于父環(huán)境中的標(biāo)識(shí)符訪問(wèn)局部變量要比訪問(wèn)全局變量更快,因?yàn)椴挥孟蛏纤阉髯饔糜蜴湣? 基本類(lèi)型和引用類(lèi)型的值 ECMAscript變量包含 基本類(lèi)型值和引用類(lèi)型值 基本類(lèi)型值值的是基本數(shù)據(jù)類(lèi)型:Undefined, Null, Boolean, Number, String ...

    lidashuang 評(píng)論0 收藏0
  • JavaScript高級(jí)程序設(shè)計(jì)》筆記:變量作用域和內(nèi)存問(wèn)題

    摘要:局部變量只在函數(shù)執(zhí)行過(guò)程中存在。此時(shí),局部變量就沒(méi)有存在的必要了,因此可以釋放他們所占的內(nèi)存以供他們使用。引用計(jì)數(shù)的含義是跟蹤記錄每個(gè)值被引用的次數(shù)。這一做法適合于大多數(shù)全局變量和局部變量的屬性。 基本類(lèi)型和引用類(lèi)型的值 ECMAScript變量可能包含兩種不同數(shù)據(jù)類(lèi)型的值:基本類(lèi)型值和引用類(lèi)型值?;绢?lèi)型值指的是簡(jiǎn)單的數(shù)據(jù)段,而引用類(lèi)型的值指那些可能有多個(gè)值構(gòu)成的對(duì)象。 動(dòng)態(tài)的屬性 ...

    Zack 評(píng)論0 收藏0
  • JavaScript 闖關(guān)記》之作用域和閉包

    摘要:作用域和閉包是最重要的概念之一,想要進(jìn)一步學(xué)習(xí),就必須理解作用域和閉包的工作原理。全局和局部作用域的關(guān)系在函數(shù)體內(nèi),局部變量的優(yōu)先級(jí)高于同名的全局變量。作用域鏈的用途,是保證對(duì)執(zhí)行環(huán)境有權(quán)訪問(wèn)的所有變量和函數(shù)的有序訪問(wèn)。 作用域和閉包是 JavaScript 最重要的概念之一,想要進(jìn)一步學(xué)習(xí) JavaScript,就必須理解 JavaScript 作用域和閉包的工作原理。 作用域 任何...

    Jacendfeng 評(píng)論0 收藏0
  • JavaScript紅寶書(shū)筆記()---變量、作用域和內(nèi)存問(wèn)題

    摘要:在操作對(duì)象時(shí),實(shí)際上是在操作對(duì)象的引用而不是實(shí)際的對(duì)象。為此,引用類(lèi)型的值是按引用訪問(wèn)的。標(biāo)記清除是目前主流的垃圾收集算法,這種算法的思想是給當(dāng)前不使用的值加上標(biāo)記,然后再回收其內(nèi)存 1.在操作對(duì)象時(shí),實(shí)際上是在操作對(duì)象的引用而不是實(shí)際的對(duì)象。為此,引用類(lèi)型的值是按引用訪問(wèn)的。 2.當(dāng)從一個(gè)變量向另一個(gè)變量復(fù)制引用類(lèi)型的值時(shí),兩個(gè)變量實(shí)際上將引用同一個(gè)對(duì)象,因此,改變其中一個(gè)變量,就會(huì)...

    imtianx 評(píng)論0 收藏0
  • Javascript高級(jí)程序設(shè)計(jì) ()》變量作用域和內(nèi)存問(wèn)題

    摘要:在中雖然對(duì)象通過(guò)標(biāo)記清除的方式進(jìn)行垃圾收,但與對(duì)象卻是通過(guò)引用計(jì)數(shù)回收垃圾的,也就是說(shuō)只要涉及及就會(huì)出現(xiàn)循環(huán)引用問(wèn)題。如果垃圾收集例程回收的內(nèi)存分配量低于,則變量字面量和或數(shù)組元素的臨界值就會(huì)加倍。 只挑本人重要的寫(xiě)(有夾雜其他補(bǔ)充) 基本類(lèi)型和引用類(lèi)型的值 描述:基本類(lèi)型值指的是簡(jiǎn)單的數(shù)據(jù)段,而引用類(lèi)型值指那些可能由多個(gè)值構(gòu)成的對(duì)象。 動(dòng)態(tài)的屬性 引用類(lèi)型的值,我們可以為其添加屬性和...

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

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

0條評(píng)論

閱讀需要支付1元查看
<