摘要:知識點(diǎn)聲明的變量在預(yù)解析的時(shí)候只執(zhí)行聲明,不會執(zhí)行定義,默認(rèn)值是。聲明的函數(shù)在預(yù)解析的時(shí)候會提前聲明并且會同時(shí)定義。
知識點(diǎn)
var 聲明的變量在預(yù)解析的時(shí)候只執(zhí)行聲明,不會執(zhí)行定義,默認(rèn)值是 undefined。
function 聲明的函數(shù)在預(yù)解析的時(shí)候會提前聲明并且會同時(shí)定義。
變量名重復(fù)聲明無效
預(yù)解析過得代碼不會再執(zhí)行階段執(zhí)行
示例一console.log(a); // 打印函數(shù)a函數(shù)體(function a() { console.log("a") }) var a = 10; console.log(a); // 10 function a() { console.log("a") } console.log(a); // 10
首先預(yù)解析到有變量 a 存在,因此記錄下 a 這個(gè)名字,和其值 undefined
接著預(yù)解析到有函數(shù) a 聲明,記錄下函數(shù)名 a
但是發(fā)現(xiàn)已經(jīng)記錄了一個(gè) a ,因此該操作無效,將函數(shù)體與 a 這個(gè)名字相關(guān)聯(lián)
解析完畢
a = undefined
a = function () { console.log("a") }
a = function () { console.log("a") }
打印變量 a 的值 function a() { console.log("a") }
變量 a 賦值為10,將原來關(guān)聯(lián)的函數(shù)覆蓋
打印變量 a 的值 10
打印變量 a 的值 10
執(zhí)行完畢
console.log(a)
a = 10
console.log(a)
console.log(a)
示例二console.log(fn) // 函數(shù)fn函數(shù)體(function fn() { console.log(2) }) function fn() { console.log(1) } console.log(fn) // 函數(shù)fn函數(shù)體(function fn() { console.log(2) }) var fn = 10 console.log(fn) // 10 function fn() { console.log(2) } console.log(fn) // 10
首先預(yù)解析到有函數(shù) fn 聲明,因此記錄 fn 這個(gè)名字,并關(guān)聯(lián)其函數(shù)體
接著預(yù)解析到變量 fn 聲明,記錄下變量名 fn
但是發(fā)現(xiàn)已經(jīng)記錄了一個(gè) fn ,因此該操作無效
接著預(yù)解析到有函數(shù) fn 聲明,因此記錄 fn 這個(gè)名字
但是發(fā)現(xiàn)已經(jīng)記錄了一個(gè) fn ,因此該操作無效,接著關(guān)聯(lián)其函數(shù)體
解析完畢
fn = function () { console.log(1) }
fn = function () { console.log(2) }
fn = function () { console.log(2) }
打印變量 fn 的值 function fn() { console.log(2) }
打印變量 fn 的值 function fn() { console.log(2) }
變量 fn 賦值為10,將原來關(guān)聯(lián)的函數(shù)覆蓋
打印變量 fn 的值 10
打印變量 fn 的值 10
執(zhí)行完畢
console.log(fn)
console.log(fn)
fn = 10
console.log(fn)
console.log(fn)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101470.html
摘要:歡迎來我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動及頁面渲染優(yōu)化理論寫法對壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動 歡迎來我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動 scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...
摘要:歡迎來我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動及頁面渲染優(yōu)化理論寫法對壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動 歡迎來我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動 scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...
摘要:歡迎來我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動及頁面渲染優(yōu)化理論寫法對壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動 歡迎來我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動 scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...
摘要:我們在面試時(shí),總會碰到一些奇奇怪怪的關(guān)于作用域的面試題,其實(shí)弄清楚原理,萬變不離其宗,大部分的面試題都可以得姐。 showImg(https://segmentfault.com/img/bV7Cri?w=1563&h=879); 我們在面試時(shí),總會碰到一些奇奇怪怪的關(guān)于 作用域 的面試題,其實(shí)弄清楚原理,萬變不離其宗,大部分的面試題都可以得 ‘姐’。 所以,今天我們來談?wù)?JavaS...
摘要:如果沒有其他異步任務(wù)要處理比如到期的定時(shí)器,會一直停留在這個(gè)階段,等待請求返回結(jié)果。執(zhí)行的執(zhí)行事件關(guān)閉請求的,例如事件循環(huán)的每一次循環(huán)都需要依次經(jīng)過上述的階段。因此,才會早于執(zhí)行。 showImg(https://segmentfault.com/img/bVbnY76); 概念 同步任務(wù)(Synchronous) 在主線程上排隊(duì)執(zhí)行的任務(wù),只有前一個(gè)任務(wù)執(zhí)行完畢,才能執(zhí)行后一個(gè)任務(wù) ...
閱讀 3521·2019-08-30 15:53
閱讀 3435·2019-08-29 16:54
閱讀 2220·2019-08-29 16:41
閱讀 2448·2019-08-23 16:10
閱讀 3403·2019-08-23 15:04
閱讀 1377·2019-08-23 13:58
閱讀 377·2019-08-23 11:40
閱讀 2481·2019-08-23 10:26