js全域性變數的理解

2021-08-08 18:05:31 字數 529 閱讀 8936

一、區域性變數和全域性變數重名會覆蓋全域性變數

二、提到全域性變數與區域性變數不得不說明的乙個知識點就是變數提公升(這是乙個坑)。『與c/c++逐行執行**不同,js引擎的工作方式是,先獲取所有被宣告的變數再逐一執行,所有變數的宣告語句都會被提公升到當前**塊的頭部』。注:**塊指的是function的乙個{},通常的if、while、for的{}中變數不會提公升。

var a = 1;  

function

test1()

test1();

alert(a);//undefined 2 1

var a = 1;  

function

test1()

test1();

alert(a);//undefined 2

JS中的全域性變數

全域性變數,區別於區域性變數,可供當前程式所有物件或方法所使用 js中全域性變數的生命定義方式有以下三種 1.在所有方法 function 的外部 注 還須在最前 使用var關鍵字定義,如 var level 1 全域性變數 function func 2.直接使用變數,如 level 1 注 使用...

js基礎 全域性變數和區域性變數的理解

全域性變數 在整個程式中都可以使用的變數 區域性變數 只能在函式中使用的變數 在js中全域性變數分為顯示宣告和隱式宣告 第一種宣告方式 使用var關鍵字 變數名在函式外部宣告就是全域性變數,例如 var bianliang 全域性變數 第二種宣告方式 沒有使用var關鍵字宣告,直接給變數名賦值,不管...

js 中全域性變數和區域性變數的理解

函式裡邊定義的變數是區域性變數,在函式外邊訪問不到 全域性變數是在函式外邊的,在函式內外都可以被訪問。var a 10 function test test console.log a 結果為100 console.log b 報錯 b is not defind可得 因為a 是全域性變數所以在函式...