js的运行机制问题
轉(zhuǎn)自:https://www.cnblogs.com/Jabin/p/5804052.html
?如果想要對(duì)函數(shù)有更深刻的理解,或者正確認(rèn)識(shí)函數(shù)!需要我們先做一件事,那就是了解js的運(yùn)行機(jī)制問(wèn)題:
?? ???? 1、在js中js引擎會(huì)優(yōu)先解析var變量和function定義!在預(yù)解析完成后從上到下逐步進(jìn)行!
?? ???? 2、解析var變量時(shí),會(huì)把值存儲(chǔ)在“執(zhí)行環(huán)境”中,而不會(huì)去賦值,值是存儲(chǔ)作用!例如:
?? ???? alert(a);? var a = 5;? 這時(shí)會(huì)輸出undifiend,意思是沒(méi)有被初始化沒(méi)有被賦值!
?? ???? 這并不是沒(méi)有被定義,錯(cuò)誤了的意思!
?? ???? 3、在解析function時(shí)會(huì)把函數(shù)整體定義,這也就解釋了為什么在function定義函數(shù)時(shí)為什么可以先調(diào)用后聲明了!其實(shí)表面上看是先調(diào)用了,其實(shí)在內(nèi)部機(jī)制中第一步實(shí)行的是把以function方式定義的函數(shù)先聲明了!
轉(zhuǎn)載于:https://www.cnblogs.com/doveshelly/p/8747942.html
總結(jié)
- 上一篇: Mycat简单实现读写分离与分库分表
- 下一篇: 总结——LR学习总结