變數提公升全解析

2021-08-22 15:00:13 字數 1613 閱讀 2348

1.變數的提公升:將變數的宣告提公升到執行環境的最頂端

console.log(a);//輸出結果 undefined

var a=10;

//相當於

var a;

console.log(a);//輸出結果 undefined

var a=10;

1.0注:函式的引數,相當遠在函式體內宣告了區域性變數

var a=0;

function aa(a)

aa(5)

alert(a)

//5,0

裡面的a=3就修改的是區域性變數的值,而不是全域性變數

改全域性變數

var a = 1;

function add()

add();

console.log(a)

在函式體內,執行alert(a)和a=3,修改的的並不是全域性變數a,而是引數a

1.1注:在函式體內:引數a的優先順序高於變數a

function aa(a)

aa(5)//5

同時:相當於在頂部宣告了引數a,下面宣告的a提公升被忽略了

function aa(a)

aa(5)//5

2.函式提公升=函式宣告式提公升+函式字面量提公升

a:函式宣告的提公升:將函式提公升至執行環境的最頂端

poo();

function poo()

//aaa

//相當於

function poo()

poo();

b.函式字面量提公升:只提公升標量的宣告

foo();

var foo = function()

//foo is not a function

//相當於

var foo;

foo();

foo = function()

3.注意:函式提公升在變數提公升之上

console.log(foo);

function foo();

var foo = 0;

小結:

變數函式宣告到頂部

字面量函式提變數

形參相當於宣告乙個區域性變數

形參和裡面的區域性變數相同,或未申明的變數相同,都相當於宣告了乙個區域性變數

形參大於區域性變數

4.例項題

var getname = function() ;

function getname()

getname(); //4

//相當於

function getname()

var getname;

getname = function() ;

getname(); // 4

getname(); //5

var getname = function() ;

function getname()

// 相當於:

function getname()

var getname;

getname(); // 5

getname = function() ;

預解析和變數提公升

doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head var f functionf console.log f f 123 var fn 123 functio...

預解析 變數提公升 相關題

預解析 瀏覽器在解析js的過程中,至少有兩步,預解析,逐行執行。預解析 找一些東西,找var function,把var 和function的宣告提到最前面。找var 提前宣告一下變數,儲存在記憶體中,如果變數同名宣告一次。function 提前宣告函式,儲存在記憶體中,如果同名會多次宣告。逐行執行...

linux PATH環境變數全解析

2012 11 03 14 51 47 收藏 linux path環境變數全解析 關於path的作用 www.2cto.com path說簡單點就是乙個字串變數,當輸入命令的時候linux會去查詢path裡面記錄的路徑。比如在根目錄 下可以輸入命令ls,在 usr目錄下也可以輸入ls,但其實ls這個...