js作用域和作用域鏈及預(yù)解析
變量---->局部變量和全局變量,
作用域:在某個(gè)空間范圍內(nèi),可以對(duì)數(shù)據(jù)進(jìn)行讀寫(xiě)操作
局部作用域和全局作用域
js中沒(méi)有塊級(jí)作用域—一對(duì)括號(hào)中定義的變量,這個(gè)變量可以在大括號(hào)外面使用
函數(shù)中定義的變量是局部變量
作用域鏈:變量的使用,從里向外,層層的搜索,搜索到了就可以直接使用了
層層搜索,搜索到0級(jí)作用域的時(shí)候,如果還是沒(méi)有找到這個(gè)變量,結(jié)果就是報(bào)錯(cuò)
在 JavaScript 中, 對(duì)象和函數(shù)同樣也是變量。
在 JavaScript 中, 作用域?yàn)榭稍L問(wèn)變量,對(duì)象,函數(shù)的集合。
JavaScript 函數(shù)作用域: 作用域在函數(shù)內(nèi)修改。
JavaScript 局部作用域
變量在函數(shù)內(nèi)聲明,變量為局部作用域。
局部變量:只能在函數(shù)內(nèi)部訪問(wèn)。
因?yàn)榫植孔兞恐蛔饔糜诤瘮?shù)內(nèi),所以不同的函數(shù)可以使用相同名稱的變量。
局部變量在函數(shù)開(kāi)始執(zhí)行時(shí)創(chuàng)建,函數(shù)執(zhí)行完后局部變量會(huì)自動(dòng)銷毀。
JavaScript 全局變量
變量在函數(shù)外定義,即為全局變量。
全局變量有 全局作用域: 網(wǎng)頁(yè)中所有腳本和函數(shù)均可使用。
如果變量在函數(shù)內(nèi)沒(méi)有聲明(沒(méi)有使用 var 關(guān)鍵字),該變量為全局變量。
JavaScript 變量生命周期
JavaScript 變量生命周期在它聲明時(shí)初始化。
局部變量在函數(shù)執(zhí)行完畢后銷毀。
函數(shù)參數(shù)
函數(shù)參數(shù)只在函數(shù)內(nèi)起作用,是局部變量。
HTML 中的全局變量
在 HTML 中, 全局變量是 window 對(duì)象: 所有數(shù)據(jù)變量都屬于 window 對(duì)象。
作用域鏈:從子集作用域返回到父集作用域的過(guò)程
局部有能力去改外面(全局)的值
預(yù)解析:
預(yù)解析:在當(dāng)前作用域下,js運(yùn)行之前,會(huì)把帶有var和function關(guān)鍵字的事先聲明,并在內(nèi)存中安排好。然后再?gòu)纳系较聢?zhí)行js語(yǔ)句。
預(yù)解析只會(huì)發(fā)生在通過(guò)var定義的變量和function上。
以上所述是小編給大家介紹的js作用域和作用域鏈及預(yù)解析詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
pageGroup.js實(shí)現(xiàn)分頁(yè)功能
這篇文章主要為大家詳細(xì)介紹了pageGroup.js實(shí)現(xiàn)分頁(yè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
手寫(xiě)的一個(gè)兼容各種瀏覽器的javascript getStyle函數(shù)(獲取元素的樣式)
這篇文章主要介紹了手寫(xiě)的一個(gè)兼容各種瀏覽器的javascript getStyle函數(shù),用來(lái)取元素的樣式,需要的朋友可以參考下2014-06-06
javascript實(shí)現(xiàn)鏈接單選效果的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)鏈接單選效果的方法,可實(shí)現(xiàn)點(diǎn)擊鏈接改變其背景色的功能,同時(shí)可禁用對(duì)應(yīng)鏈接的跳轉(zhuǎn),需要的朋友可以參考下2015-05-05
JS中confirm,alert,prompt函數(shù)使用區(qū)別分析
JS中confirm,alert,prompt函數(shù)使用區(qū)別分析,需要的朋友可以參考下。2010-04-04
bootstrap table實(shí)現(xiàn)橫向合并與縱向合并
這篇文章主要為大家詳細(xì)介紹了bootstrap table實(shí)現(xiàn)橫向合并與縱向合并,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
Layui事件監(jiān)聽(tīng)的實(shí)現(xiàn)(表單和數(shù)據(jù)表格)
這篇文章主要介紹了Layui事件監(jiān)聽(tīng)的實(shí)現(xiàn)(表單和數(shù)據(jù)表格),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Bootstrap實(shí)現(xiàn)導(dǎo)航欄的2種方式
這篇文章主要為大家詳細(xì)介紹了Bootstrap實(shí)現(xiàn)導(dǎo)航欄的2種方式,一是利用按鈕組實(shí)現(xiàn)、二是Bootstrap專門(mén)做了相應(yīng)的css類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Javascript中的isNaN函數(shù)使用說(shuō)明
isNaN函數(shù) 返回一個(gè) Boolean 值,指明提供的值是否是保留值 NaN (不是數(shù)字)。2011-11-11

