瀏覽器控制臺環(huán)境:一: var a = function(num){
b(num);
}
a(1); var b = function(num){ console.log(num)
}二: function a(num){ console.log(num)
}
a(1); function b(num){ console.log(num)
}記得在高程看過,function定義的函數(shù)會前置,而var定義的函數(shù)只是聲明會前置。那么代碼二無疑是可以打印出1的;但是代碼一也能打印出1,我不明白的是當a調(diào)用的時候,b函數(shù)還未聲明,此時為何可以打印出1呢?另外:var c = (function(){ var init = function(){
a(1);
}; var a= function(num){
b(num);
}; var b =function(num){ console.log(num);
}; return{ init: init
};
})();
c.init();init在a之前聲明,為何能調(diào)用a?
js函數(shù)聲明和執(zhí)行的問題
陪伴而非守候
2018-09-05 15:13:44