<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 670字,需瀏覽 2分鐘

           ·

          2021-01-08 11:00

          一,configurable

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

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

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

          二、聲明提前

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

          三、nodejs下差異

          Node.js 實(shí)現(xiàn)了 CommonJS 標(biāo)準(zhǔn)。

          node 里會(huì)外包一層,所以 var a = 1 和 a = 1 不是一個(gè)域。

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

          ?

          四、其他點(diǎn)睛

          b.call(null) 會(huì)使 b 中的 this 在運(yùn)行時(shí)指向全局作用于(window 或 global)。(非嚴(yán)格模式下這樣,嚴(yán)格模式會(huì)報(bào)錯(cuò))


          瀏覽 88
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久国产乱子伦精品免费女,网站 | 伊人婷婷| 三级片成人网站在线观看 | 亚洲色图日韩欧美 | 91久久久久久久久久久 |