最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript 的變量、作用域和內(nèi)存問題

 更新時間:2017年04月19日 17:14:22   投稿:lqh  
這篇文章主要介紹了javascript 的變量、作用域和內(nèi)存問題的相關(guān)資料,需要的朋友可以參考下

javascript 的變量、作用域和內(nèi)存問題

(一)JavaScript變量可以用來保存兩種類型的值:基本類型值和引用類型值?;绢愋偷闹翟醋砸韵?種基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number和 String?;绢愋椭岛鸵妙愋椭稻哂幸韵绿攸c:

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

2.從一個變量向另一個變量復(fù)制基本類型的值,會創(chuàng)建這個值的一個副本;

3.引用類型的值是對象,保存在堆內(nèi)存中;   

4.包含引用類型值的變量實際上包含的并不是對象本身,而是一個指向該對象的指針;

5.從一個變量向另一個變量復(fù)制引用類型的值,復(fù)制的其實是指針,因此兩個變量最終都指向同一個對象;

6.確定一個值是哪種基本類型可以使用typeof操作符,而確定一個值是哪種引用類型可以使用instanceof操作符。

(二)所有變量(包括基本類型和引用類型)都存在于一個執(zhí)行環(huán)境(也稱為作用域)當(dāng)中,這個執(zhí)行環(huán)境決定了變量的生命周期,以及哪一部分代碼可以訪問其中的變量。以下是關(guān)于執(zhí)行環(huán)境的幾點總結(jié):

1.執(zhí)行環(huán)境有全局執(zhí)行環(huán)境(也稱為全局環(huán)境)和函數(shù)執(zhí)行環(huán)境之分;

2.每次進入一個新執(zhí)行環(huán)境,都會創(chuàng)建一個用于搜索變量和函數(shù)的作用域鏈;

3.函數(shù)的局部環(huán)境不僅有權(quán)訪問函數(shù)作用域中的變量,而且有權(quán)訪問其包含(父)環(huán)境,乃至全局環(huán)境;

4.全局環(huán)境只能訪問在全局環(huán)境中定義的變量和函數(shù),而不能直接訪問局部環(huán)境中的任何數(shù)據(jù);變量的執(zhí)行環(huán)境有助于確定應(yīng)該何時釋放內(nèi)存。

(三)JavaScript是一門具有自動垃圾收集機制的編程語言,開發(fā)人員不必關(guān)心內(nèi)存分配和回收問題。可以對JavaScript的垃圾收集例程作如下總結(jié)。

1.離開作用域的值將被自動標(biāo)記為可以回收,因此將在垃圾收集期間被刪除。

2.“標(biāo)記清除”是目前主流的垃圾收集算法,這種算法的思想是給當(dāng)前不使用的值加上標(biāo)記,然后再回收其內(nèi)存。

3.另一種垃圾收集算法是“引用計數(shù)”,這種算法的思想是跟蹤記錄所有值被引用的次數(shù)。JavaScript引擎目前都不再使用這種算法;

4.但在IE中訪問非原生JavaScript對象(如DOM元素)時,這種算法仍然可能會導(dǎo)致問題。當(dāng)代碼中存在循環(huán)引用現(xiàn)象時,“引用計數(shù)”算法就會導(dǎo)致問題。

6.為了確保有效地回收內(nèi)存,應(yīng)該及時解除不再使用的全局對象、全局對象屬性以及循環(huán)引用變量的引用。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • JavaScript字符串轉(zhuǎn)數(shù)字的簡單實現(xiàn)方法

    JavaScript字符串轉(zhuǎn)數(shù)字的簡單實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于JavaScript字符串轉(zhuǎn)數(shù)字的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 如何實現(xiàn)JavaScript動態(tài)加載CSS和JS文件

    如何實現(xiàn)JavaScript動態(tài)加載CSS和JS文件

    這篇文章主要為大家詳細介紹了JavaScript動態(tài)加載CSS和JS文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-10-10
  • JS實現(xiàn)的五級聯(lián)動菜單效果完整實例

    JS實現(xiàn)的五級聯(lián)動菜單效果完整實例

    這篇文章主要介紹了JS實現(xiàn)的五級聯(lián)動菜單效果,結(jié)合完整實例形式分析了js多級聯(lián)動菜單的完整實現(xiàn)步驟,涉及JS數(shù)組遍歷、擴展及元素節(jié)點操作相關(guān)技巧,需要的朋友可以參考下
    2017-02-02
  • uniapp實現(xiàn)人臉識別功能詳細示例

    uniapp實現(xiàn)人臉識別功能詳細示例

    這次使用uni-app框架開發(fā)一個小程序,有一個刷臉功能,所以下面這篇文章主要給大家介紹了關(guān)于uniapp實現(xiàn)人臉識別功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • javascript 中的繼承實例詳解

    javascript 中的繼承實例詳解

    這篇文章主要介紹了javascript 中的繼承實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • uniapp封裝小程序雷達圖組件的完整代碼

    uniapp封裝小程序雷達圖組件的完整代碼

    組件是一個單獨且可復(fù)用的功能模塊的封裝,每個組件,包括如下幾個部分:以組件名稱為標(biāo)記的開始標(biāo)簽和結(jié)束標(biāo)簽、組件內(nèi)容、組件屬性、組件屬性值,這篇文章主要給大家介紹了關(guān)于uniapp封裝小程序雷達圖組件的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • JS創(chuàng)建對象的十種方式總結(jié)

    JS創(chuàng)建對象的十種方式總結(jié)

    面向?qū)ο笫且环N重要的編程范式,如何靈活的創(chuàng)建對象,是對編程基本功的考驗,本來我們來探討一下JavaScript中創(chuàng)建對象的十種方式,感興趣的小伙伴可以了解下
    2023-10-10
  • 教你用Js寫一個簡單的五子棋小游戲

    教你用Js寫一個簡單的五子棋小游戲

    聽說這是一道騰訊的面試題,可能網(wǎng)上已經(jīng)有不少答案了,晚上沒事看到這道題就自己做了下,下面這篇文章主要給大家介紹了關(guān)于如何用Js寫一個簡單的五子棋小游戲的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 微信小程序開發(fā)常用功能點與使用方法總結(jié)

    微信小程序開發(fā)常用功能點與使用方法總結(jié)

    最近收集了一些小程序開發(fā)中常用到的知識點,記錄一下,所以下面這篇文章主要給大家介紹了關(guān)于微信小程序開發(fā)常用功能點與使用方法的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • XmlUtils JS操作XML工具類

    XmlUtils JS操作XML工具類

    經(jīng)常用到對xml的操作,Java里面有dom和dom4j等工具類,但是Javascript就沒有,所以自己寫了一個,目前算作第一個版本吧。肯定還有很多地方需要改進,如果有需要用的朋友,可以把bug和需要完善改進的地方留言或評論。
    2009-10-10

最新評論

天全县| 津南区| 潮安县| 哈巴河县| 拜城县| 景洪市| 巴塘县| 泰顺县| 龙里县| 专栏| 资溪县| 滦南县| 宁波市| 澄江县| 东港市| 高州市| 紫金县| 广河县| 开化县| 安远县| 潍坊市| 张家界市| 松潘县| 洛浦县| 潞西市| 高台县| 丰都县| 东丰县| 汾西县| 吉隆县| 二手房| 三明市| 尚义县| 乐至县| 密山市| 都江堰市| 蒲江县| 伽师县| 烟台市| 景泰县| 石棉县|