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

資訊專欄INFORMATION COLUMN

javascript---Symbol類型, 引用類型, 作用域

leejan97 / 1737人閱讀

摘要:指針指針指針重要的時期說三遍由于對象類型為指針引用在變量復制方面,基本類型和引用類型也有所不同。在瀏覽器中,全局執(zhí)行環(huán)境被認為是對象。

javascript---Symbol類型, 引用類型, 作用域
javascript的引用類型, 即對象類型是我們最常用的的類型, 其中有許多讓我們需要注意的地方, 最新的 , ES6 的推出, 使得對象類型的屬性名不僅僅可以是字符串類型,還可是Simbol 類型--(^_^現(xiàn)在有兩種類型了哦)這里奉上傳送門ES6 阮一峰

Symbol 值通過Symbol函數(shù)生成。這就是說,對象的屬性名現(xiàn)在可以有兩種類型,一種是原來就有的字符串,另一種就是新增的 Symbol 類型。凡是屬性名屬于 Symbol 類型,就都是獨一無二的,可以保證不會與其他屬性名產(chǎn)生沖突。

Smbol類型

    let mySymbol = Symbol();
    // 第一種寫法
    let a = {};
    a[mySymbol] = "Hello!"; 
    // 第二種寫法
    let a = {
        [mySymbol] = "Hello!"; 
    };
    // 第三種寫法
    let a = {};
    Object.defineProperty(a, mySymbol, { value: "Hello!" });
    // 以上寫法都得到同樣結果
    a[mySymbol] // "Hello!"

引用類型
引用類型(對象類型)是js主要類行,他的用法類似于 c 語言中的指針
js基本類型和引用類型存儲于兩個地方, 基本類型值指的是那些保存在棧內(nèi)存中的簡單數(shù)據(jù)段,即這種值完全保存在內(nèi)存中的一個位置 。而引用類型值則是指那些保存在堆內(nèi)存中的對象,意思是變量中保存的實際上只是一個指針,這個指針指向內(nèi)存中的另一個位置,該位置保存對象。

ps. 指針指針指針!!! (^-^ 重要的時期說三遍)

由于對象類型為指針引用, 在變量復制方面,基本類型和引用類型也有所不同?;绢愋蛷椭频氖侵当旧?,而引用類型復制的是地址

    let box = "Lee"; //在棧內(nèi)存生成一個 box "Lee"
    let box2 = box; //在棧內(nèi)存再生成一個 box2 "Lee"

    let box = new Object(); //創(chuàng)建一個引用類型
    box.name = "Lee"; //新增一個屬性
    let box2 = box; //把引用地址賦值給 box2

ps. 復制對象的時候要注意你的復制需求, 到底需要潛復制還是深復制

函數(shù)參數(shù)
對于函數(shù)參數(shù), 如果是基本類型則直接按指傳遞, 而如果是引用類型則傳遞的是引用地址--(^_^指針)

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

執(zhí)行環(huán)境是 JavaScript 中最為重要的一個概念。執(zhí)行環(huán)境定義了變量或函數(shù)有權訪問的其他數(shù)據(jù),決定了它們各自的行為。

全局執(zhí)行環(huán)境是最外圍的執(zhí)行環(huán)境。在 Web 瀏覽器中,全局執(zhí)行環(huán)境被認為是 window對象。因此所有的全局變量和函數(shù)都是作為 window 對象的屬性和方法創(chuàng)建的。

PS:當執(zhí)行環(huán)境中的所有代碼執(zhí)行完畢后,該環(huán)境被銷毀,保存在其中的所有變量和函數(shù)定義也隨之銷毀。如果是全局環(huán)境下,需要程序執(zhí)行完畢,或者網(wǎng)頁被關閉才會銷毀。

PS:每個執(zhí)行環(huán)境都有一個與之關聯(lián)的變量對象,就好比全局的 window 可以調用變量和屬性一樣。局部的環(huán)境也有一個類似 window 的變量對象,環(huán)境中定義的所有變量和函數(shù)都保存在這個對象中。(我們無法訪問這個變量對象,但解析器會處理數(shù)據(jù)時后臺使用它)

PS:每個函數(shù)被調用時都會創(chuàng)建自己的執(zhí)行環(huán)境。當執(zhí)行到這個函數(shù)時,函數(shù)的環(huán)境就會被推到環(huán)境棧中去執(zhí)行,而執(zhí)行后又在環(huán)境棧中彈出(退出),把控制權交給上一級的執(zhí)行環(huán)境。

PS:當代碼在一個環(huán)境中執(zhí)行時,就會形成一種叫做作用域鏈的東西。它的用途是保證對執(zhí)行環(huán)境中有訪問權限的變量和函數(shù)進行有序訪問。作用域鏈的前端,就是執(zhí)行環(huán)境的變量對象

作用域
javascript設計之初并沒有塊級作用域, 而只有函數(shù)作用域(^_^是不是有點反人類)
所以給程序員帶來了不便,不過可以通過立即執(zhí)行匿名函數(shù)來模仿塊級作用域

(function () {
  var name = "Iris";
})()

ES6: 沒有塊級作用域的語音一切都要歸罪于 var 關鍵字, 于是 ES6 推出了新的關鍵字 let const 現(xiàn)在官方推薦所有的 var 關鍵字都可以用 let 代替, let cost 將存在塊級作用域功能 具體他們的不同可以參考鏈接描述

    (function(){
      if (4) {
        var name = "Iris";
      }
      console.log(name);//Iris  
      if (5) {
        let age = "23";
      }
      console.log(age);//age is not defined
    })()

ps. name在代碼塊外部是不可見的

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

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/107195.html

相關文章

  • Javascript Symbol 隱匿的未來之星

    摘要:通常,它做為一個偏功能性的標記來表示,在全劇中它是唯一的。并且使用來生成,會在存入當前全局上下文中一個結構中,我們稱它為顧名思義,它是全局的,所以使用時我們需要謹慎,尤其是在大型項目中。 ES6中基礎類型增加到了7種,比上一個版本多了一個Symbol,貌似出現(xiàn)了很長時間,但卻因沒有使用場景,一直當作一個概念層來理解它,我想,用它的最好的方式,還是要主動的去深入了解它吧,所以我從基礎部分...

    wwolf 評論0 收藏0
  • 變量、作用和內(nèi)存問題

    摘要:使用聲明的變量會動被添加到最近的環(huán)境中查詢標識符,現(xiàn)在作用域鏈的最前端開始搜索,逐步向上級查詢,直到找到匹配的標識符,在變量查詢中,訪問局部變量要比全局變量更快,因為不需要向上搜索作用域。 基本類型和引用類型的值 基本類型值指的是簡單的數(shù)據(jù)段;引用類型值指那些可能由多個值構成的對象。不能給基本類型添加屬性,可以給引用類型值動態(tài)的添加屬性。 基本類型按值訪問,存放在棧內(nèi)存中。引用類型按引...

    lentrue 評論0 收藏0
  • JavaScript高級程序設計》筆記:變量、作用、內(nèi)存問題

    摘要:作用域鏈中的下一個變量對象來自包含外部環(huán)境,而再下一個變量對象則來自下一個包含環(huán)境。這樣,一直延續(xù)到全局執(zhí)行環(huán)境全局執(zhí)行環(huán)境的變量對象始終都是作用域鏈中的最后一個對象標識符解析沿作用域鏈一級一級搜索標識符。 一、寫在前面 最近研究了創(chuàng)建Android虛擬機、vscode結合weex開發(fā)Android APP、Vmware裝MAC虛擬機的事,看的內(nèi)容不夠多,接下來加油 二、變量、作用域和...

    U2FsdGVkX1x 評論0 收藏0
  • JavaScript變量、作用和內(nèi)存問題

    摘要:全局變量是最外圍的一個執(zhí)行環(huán)境,代碼在環(huán)境中執(zhí)行,會創(chuàng)建一個作用域鏈,用途是保證對執(zhí)行環(huán)境有權訪問所有變量和函數(shù)的有序訪問。作用域鏈中最后一個對象始終是全局執(zhí)行環(huán)境。內(nèi)部環(huán)境可以通過作用域鏈訪問所有的外部環(huán)境,外部則不能訪問內(nèi)部。 1、基本類型和引用類型的值 * 基本類型 : 指的是簡單的數(shù)據(jù)段,五種基本類型是按值訪問的,可以直接操作保存在變量中實際的值。 * 引用類型 : 指那些可能...

    Dr_Noooo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<