国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

基于js的變量提升和函數(shù)提升(詳解)

2024-05-06 15:26:37
字體:
供稿:網(wǎng)友

一、變量提升

在ES6之前,JavaScript沒有塊級作用域(一對花括號{}即為一個塊級作用域),只有全局作用域和函數(shù)作用域。變量提升即將變量聲明提升到它所在作用域的最開始的部分。

上個簡歷的例子如:

console.log(global); // undefinedvar global = 'global';console.log(global); // globalfunction fn () {console.log(a); // undefinedvar a = 'aaa';console.log(a); // aaa}fn();

之所以會是以上的打印結(jié)果,是由于js的變量提升,實際上上面的代碼是按照以下來執(zhí)行的:

var global; // 變量提升,全局作用域范圍內(nèi),此時只是聲明,并沒有賦值console.log(global); // undefinedglobal = 'global'; // 此時才賦值console.log(global); // 打印出globalfunction fn () {var a; // 變量提升,函數(shù)作用域范圍內(nèi)console.log(a);a = 'aaa';console.log(a);}fn();

二、函數(shù)提升

js中創(chuàng)建函數(shù)有兩種方式:函數(shù)聲明式和函數(shù)字面量式。只有函數(shù)聲明才存在函數(shù)提升!如:

console.log(f1); // function f1() {}  console.log(f2); // undefined function f1() {}var f2 = function() {}

只所以會有以上的打印結(jié)果,是由于js中的函數(shù)提升導致代碼實際上是按照以下來執(zhí)行的:

function f1() {} // 函數(shù)提升,整個代碼塊提升到文件的最開始<br>console.log(f1);  console.log(f2);  var f2 = function() {}

結(jié)語:基本上就是這樣,要熟練掌握的話可以多做些練習,test:

console.log(f1()); console.log(f2);  function f1() {console.log('aa')}var f2 = function() {}
(function() {console.log(a);a = 'aaa';var a = 'bbb';console.log(a);})();

以上這篇基于js的變量提升和函數(shù)提升(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 东丰县| 镇雄县| 芜湖市| 太和县| 米林县| 芒康县| 富宁县| 合江县| 隆回县| 周口市| 内丘县| 鱼台县| 滕州市| 吐鲁番市| 黄平县| 阜新市| 新乡市| 诸暨市| 蓬溪县| 渝中区| 城步| 永和县| 武陟县| 牡丹江市| 克山县| 天台县| 高碑店市| 台北县| 府谷县| 永修县| 兰坪| 红原县| 武邑县| 汨罗市| 聂拉木县| 东乌| 静安区| 万荣县| 磴口县| 齐齐哈尔市| 汽车|