无遮挡18禁啪啪免费观看 I 秋霞成人av I brandilove欧美三区 I 激情偷乱人伦小说视频 I 人人插人人艹 I www.亚洲com I 波多野结衣av高清一区二区三区 I 精品无码国产污污污免费网站 I 美女张开腿给男人桶爽久久 I 国产精品久久久久久久免费 I 国内精品久久99 I 亚洲精品无码专区 I 亚洲免费视频一区二区 I 午夜xxx I 国产一区啪啪 I 丝袜激情网 I 日韩精品久久久久久久 I 欧美香蕉视频 I 成人片免费看 I 天天色综合2 I 寡妇被老头舔到高潮的视频 I 亚洲第一页在线 I 国产放荡av国产精品 I 在线精品视频一区二区 I 免费黄色片在线观看 I 秋霞伊人网 I www.伊人 I 久草在线91 I 女人啪啪免费av大片 I 欧美一区二区综合 I 精品久久久久久天美传媒 I 黄色工厂在线观看 I 91精品国产色综合 I 动漫美女被到爽 I 丁香午夜激情

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

日歷

鏈接

個人資料

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

存檔