日本阿v片在线播放免费,成人国产片视频在线观看,日韩黄片毛片在线观看,一区亚洲电影,琪琪秋霞午夜av影视在线,中文字幕在线视频不卡,最新大伊香蕉精品视频在线,亚洲AV无码日韩一区二区乱

      JS作用域與聲名提升

      2019-8-12    seo達人

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



      全局作用域

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

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

      使用var定義在函數(shù)內(nèi)部的變量,其作用范圍是整個函數(shù)結(jié)構(gòu),超出函數(shù) {} 花括號的范圍則不能使用。

      塊級作用域

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

      let 變量名 = 變量值;

      const 變量名 = 變量值;

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

      而且必須給予初始值。

      const修飾數(shù)組對象后雖然不可以再對變量進行等號賦值了,但是還是可以用數(shù)組和對象的方法去改變它的內(nèi)部結(jié)構(gòu)。

      IIFE(立即調(diào)用函數(shù)表達式 - - 自執(zhí)行匿名函數(shù)):

      英文全名:(Immediately Invoked Function Expression)

      語法:

      //這三種都屬于IIFE寫法

      (function () {})();

      (function () {}());

      +function () {}();

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

      1

      2

      3

      4

      5

      聲名提升:

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



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



      函數(shù)的定義也存在聲名提升:



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

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

      示例:



      //在聲名函數(shù)前面輸出它。輸出的結(jié)果就是整個聲名函數(shù)的內(nèi)容

      console.log(testArg)

      function testArg(a, b, c){

      console.log(arguments)

      }

      1

      2

      3

      4

      5

      輸出結(jié)果:





      //在函數(shù)表達式之前輸出函數(shù)

      console.log(testArg)

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

      console.log(arguments)

      }

      1

      2

      3

      4

      5

      輸出結(jié)果:



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

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

      藍藍設計m.jjddy.com )是一家專注而深入的界面設計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設計、BS界面設計  cs界面設計  ipad界面設計  包裝設計  圖標定制  用戶體驗 、交互設計、 網(wǎng)站建設 平面設計服務

      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://m.jjddy.com

      存檔