JS中的作用域鏈
在js中數(shù)據(jù)的聲明方式有兩種:
1、用var聲明,例如:var num = 10;
2、直接聲明,例如:num = 10;
兩種聲明方式在某些情況下是有區(qū)別的:
var data = 10; function fn01(){ var data = 100; function fn02(){ data = 1000; function fn03(){ data = 10000; } fn03(); } fn02(); } fn01(); console.log(data);
此時data會是多少呢?
沒錯就是10
當(dāng)在函數(shù)內(nèi)使用var聲明變量的時候這個變量就是局部變量,而當(dāng)不使用var定義變量的時候這個變量就會是全局變量,當(dāng)然這個全局變量也需要看定義的位置,這個全局變量會一直往上層尋找使用var定義的相同名稱的變量,當(dāng)尋找到時會替換其原來的變量,如果未找到則會自行定義一個全局變量;
var data = 10; function fn01(){ data = 100; function fn02(){ data = 1000; function fn03(){ data = 10000; } fn03(); } fn02(); } fn01(); console.log(data);
此時的data就是10000了,你學(xué)會了嗎?
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
contenteditable可編輯區(qū)域設(shè)置換行實現(xiàn)技巧實例
這篇文章主要為大家介紹了contenteditable可編輯區(qū)域設(shè)置換行實現(xiàn)技巧實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01XDomainRequest之IE8和IE9發(fā)送跨域請求拒絕訪問解決方法
這篇文章主要介紹了XDomainRequest之IE8和IE9發(fā)送跨域請求拒絕訪問解決方法,需要的朋友可以參考下2023-06-06Bootstrap 表單驗證formValidation 實現(xiàn)遠(yuǎn)程驗證功能
這篇文章主要介紹了Bootstrap 表單驗證formValidation 實現(xiàn)遠(yuǎn)程驗證功能,需要的朋友可以參考下2017-05-05Bootstrap-table自定義可編輯每頁顯示記錄數(shù)
這篇文章主要介紹了Bootstrap-table自定義可編輯每頁顯示記錄數(shù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09學(xué)習(xí)JavaScript設(shè)計模式之策略模式
這篇文章主要為大家介紹了JavaScript設(shè)計模式中的策略模式,對JavaScript設(shè)計模式感興趣的小伙伴們可以參考一下2016-01-01