亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于js變量提升和函數提升的示例分析

發布時間:2021-08-23 11:45:21 來源:億速云 閱讀:120 作者:小新 欄目:web開發

小編給大家分享一下基于js變量提升和函數提升的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、變量提升

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

上個簡歷的例子如:

console.log(global); // undefined
var global = 'global';
console.log(global); // global

function fn () {
console.log(a); // undefined
var a = 'aaa';
console.log(a); // aaa
}
fn();

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

var global; // 變量提升,全局作用域范圍內,此時只是聲明,并沒有賦值
console.log(global); // undefined
global = 'global'; // 此時才賦值
console.log(global); // 打印出global

function fn () {
var a; // 變量提升,函數作用域范圍內
console.log(a);
a = 'aaa';
console.log(a);
}
fn();

二、函數提升

js中創建函數有兩種方式:函數聲明式和函數字面量式。只有函數聲明才存在函數提升!如:

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

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

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

結語:基本上就是這樣,要熟練掌握的話可以多做些練習,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變量提升和函數提升的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

万安县| 武陟县| 延安市| 宁强县| 新宾| 平罗县| 霍城县| 丹巴县| 凤凰县| 灯塔市| 朔州市| 盈江县| 灌南县| 丰宁| 利津县| 温泉县| 石狮市| 西贡区| 芜湖市| 通海县| 静安区| 乡宁县| 赤壁市| 米林县| 交城县| 肥东县| 抚顺县| 平湖市| 焦作市| 余庆县| 贺州市| 岚皋县| 炎陵县| 颍上县| 应用必备| 黔东| 玉门市| 钦州市| 达拉特旗| 旬邑县| 南靖县|