1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        var a=1和a=1的三個區(qū)別

        共 670字,需瀏覽 2分鐘

         ·

        2021-01-08 11:00

        一,configurable

        在全局作用域用var與不用var聲明變量,最大的區(qū)別是:

        • 用var聲明的全局變量,其[[Configurable]]屬性為false。此時它就不能在聲明后被delete,或者是被改為accessor property等。能做的操作只有訪問或修改其[[Value]]屬性的值,對例子中的a來說就是普通的讀取a或?qū)賦值,而不能做其它操作。

        • 直接賦值來創(chuàng)建的全局變量,其[[Configurable]]屬性為true,也就可以對它做任意修改,例如delete、改變其[[Enumerable]]屬性的值,等等。

        二、聲明提前

        其一為 var a 會在編譯時被提升到當前所在作用域的最頂部,其二為真正的復(fù)制操作 a = 2 是在運行時進行的。因此第一段代碼中相當于在編譯時在最頂部加了一行 var a。

        三、nodejs下差異

        Node.js 實現(xiàn)了 CommonJS 標準。

        node 里會外包一層,所以 var a = 1 和 a = 1 不是一個域。

        代碼一中 變量a在Local中,而代碼二中變量a在Global中。

        ?

        四、其他點睛

        b.call(null) 會使 b 中的 this 在運行時指向全局作用于(window 或 global)。(非嚴格模式下這樣,嚴格模式會報錯)


        瀏覽 88
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产精品精品3d动漫 | 国产不卡视频 | 国产影院一区 | 欧美在线日 | 欧美gaygay粗又大 | 人人妻人人草 | www狠狠干| 狠狠色狠狠色综合日日92 | 亚洲天堂综合网 | 亚洲AV综合网 |