本日閱讀進度:第十章 一級函式(429~441頁)
重點摘要:
function meow(num) {
for (var i = 0; i < num; i++) {
console.log("Meow!");
}
}
meow(3);
//"Meow!"
//"Meow!"
//"Meow!"
var wang = function(num) {
for (var i = 0; i < num; i++) {
console.log("Wang!");
}
}
wang(3);
//"Wang!"
//"Wang!"
//"Wang!"
//part1
var migrating = true;
//part2
var wang = function(num) {
for (var i = 0; i < num; i++) {
console.log("Wang!");
}
};
//part3
function meow(num) {
for (var i = 0; i < num; i++) {
console.log("Meow!");
}
}
//part4
if (migrating) {
meow(3);
wang(3);
}
瀏覽器解析頁面時會先找尋函式宣告,也就是part3。找到後,它就會建立一個函式,並把函式址參器賦值給一個跟函式同名的變數。
之後瀏覽器會回到程式碼頂端,由上到下開始執行程式。也就是:
part1 => part2 => part3(由於已經處理過,會跳過) => part4(印出3次"Meow!"和3次"Wang!")
在part2,瀏覽器會建立一個址參器以便指向這個新的函式,並把該函式賦值給wang變數。
ps.江郎才盡。今天的標題沒有梗。
本文同步發表於cichen