javaScript的預編譯問題總結

2021-08-25 11:40:56 字數 1430 閱讀 7116

預編譯過程發生在函式執行前一刻。因為預編譯過程,因而產生的變數宣告提公升,和 函式宣告整體提公升

函式內部預編譯

2. 全域性預編譯

例項:

function fn(a);

console.log(a); //123

var b=function(){};

console.log(b); //function

function d(){};

} ao/1/123/

d:undefined/function d(){}

}fn(1);

function test(a,b);

function d(){};

console.log(b); //2

console.log(d); //function d(){}

} ao/2

c:undefined/0

d:undefined/function d(){}

} test(1);

go

function test()

console.log(b); //undefined

c=234;

console.log(c); //234

} var a;

ao test();

a=10;

console.log(c); //234

function bar();

var foo=11;

} ao/11

} console.log(bar()); //function foo(){}

console.log(bar());

ao/10/11

} function bar();

var foo=11;

return foo; //11

}

a=100;

function demo(e);

arguments[0]=2;

console.log(e); //2

if(a)

} var c;

a=10;

var a;

console.log(b); //undefined

f=123;

console.log(c); //undefined function

console.log(a); //10

} var a;

demo(1);

console.log(a); //100

console.log(f); //123

JavaScript預編譯(函式)

知識點預習 1 js檔案的執行三部曲 語法分析 預編譯 解釋執行。2 變數未經宣告就使用,系統會報錯。3 var aa 夫 子 變數的宣告和賦值,aa為變數名,夫 子 是變數值。var aa是變數的宣告,aa 夫 子 是變數賦值。4 函式宣告 function demo 函式表示式 var demo...

javascript的預編譯階段

1.變數與函式 在js中宣告乙個變數有let const var三種方式,函式有宣告函式和函式表示式兩種。2.預編譯階段做的事情 在預編譯階段,所有的var宣告的變數會被初始化為undefined,所有的宣告函式會用它的定義進行初始化,而const let宣告的變數則不會在預編譯階段執行初始化,函式...

javascript基礎 預編譯 this指向

預編譯發生在函式執行前一刻,可以拆分成一下幾步 1 生成activation object 即ao物件 執行期上下文 2 查詢形參和變數,並將其作為ao物件的屬性,值為undefined 3 將實參的值賦給形參 4 在函式體內查詢函式宣告,並將值賦予函式體 看看下面的例子 function fn a...