伊人久久大香线蕉综合影视_日韩精品少妇无码受不了_71pao成人国产永久免费视频_国产伦片中文免费观看_国产高清无码麻豆精品_九色综合伊人久久富二代_日韩黄色精品_日韩A∨精品日韩精品无码

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當(dāng)中的let是一樣的,只不過用這個語法是為了解決個別瀏覽器的兼容問題。

1

2

3

4

5

聲名提升:

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



使用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é)果:



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

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

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

日歷

鏈接

個人資料

藍藍設(shè)計的小編 http://cqzjtgb.com

存檔

靖西县| 衡阳市| 桂平市| 垣曲县| 嘉鱼县| 攀枝花市| 阿图什市| 石嘴山市| 江西省| 闻喜县| 蓬溪县| 行唐县| 历史| 阜平县| 昔阳县| 南康市| 宁武县| 阿鲁科尔沁旗| 湖北省| 蒙山县| 二连浩特市| 和林格尔县| 罗山县| 比如县| 延庆县| 綦江县| 太仓市| 麟游县| 衡南县| 武宁县| 和田县| 论坛| 岐山县| 腾冲县| 泗洪县| 盈江县| 洛宁县| 雷州市| 环江| 土默特右旗| 古田县|