91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

基于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

墨竹工卡县| 新蔡县| 罗田县| 屯留县| 长寿区| 锡林郭勒盟| 静宁县| 古交市| 宝坻区| 三门县| 平泉县| 永新县| 赤峰市| 墨脱县| 华安县| 松阳县| 北辰区| 新乡县| 广西| 南溪县| 麟游县| 临武县| 红安县| 穆棱市| 连江县| 淄博市| 库尔勒市| 英吉沙县| 廊坊市| 吉首市| 洮南市| 甘孜县| 泽普县| 新和县| 旅游| 铜山县| 广汉市| 都江堰市| 邯郸县| 健康| 阳春市|