<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          JS作用域與聲名提升

          2019-8-12    seo達人

          JS的作用域一共有三個范圍,分別是:



          全局作用域

          定義在所有函數之外的變量,其作用范圍是在整個腳本中

          局部作用域(函數作用域)

          使用var定義在函數內部的變量,其作用范圍是整個函數結構,超出函數 {} 花括號的范圍則不能使用。

          塊級作用域

          ES6聲明變量的方式:let / const

          let 變量名 = 變量值;

          const 變量名 = 變量值;

          PS:注意: 使用const修飾的變量,賦值確定后,不允許再重新賦值。(一般修飾常量或者數組對象之類的)

          而且必須給予初始值。

          const修飾數組對象后雖然不可以再對變量進行等號賦值了,但是還是可以用數組和對象的方法去改變它的內部結構。

          IIFE(立即調用函數表達式 - - 自執行匿名函數):

          英文全名:(Immediately Invoked Function Expression)

          語法:

          //這三種都屬于IIFE寫法

          (function () {})();

          (function () {}());

          +function () {}();

          //作用與ES6當中的let是一樣的,只不過用這個語法是為了解決個別瀏覽器的兼容問題。

          1

          2

          3

          4

          5

          聲名提升:

          將使用var定義的變量聲名提升到對應作用域的最頂部,賦值部分位置不變。



          使用ES6的let與const沒有聲名提升。



          函數的定義也存在聲名提升:



          如果是聲名的方式定義的函數,將整個函數(聲名及函數主體)都提升到作用域的最頂部。

          如果是表達式的方式定義的函數,只提升聲名,不提升賦值(函數主體部分)

          示例:



          //在聲名函數前面輸出它。輸出的結果就是整個聲名函數的內容

          console.log(testArg)

          function testArg(a, b, c){

          console.log(arguments)

          }

          1

          2

          3

          4

          5

          輸出結果:





          //在函數表達式之前輸出函數

          console.log(testArg)

          var testArg = function(a, b, c) {

          console.log(arguments)

          }

          1

          2

          3

          4

          5

          輸出結果:



          這就是聲名提升的特點,只提升聲名部分,不提升賦值部分。大家一定要牢牢記住哦~

          ————————————————

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務。

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合