JavaScript 作用域?qū)嵗治?/h1>
更新時間:2019年10月02日 11:07:58 作者:kevin.Xiang
這篇文章主要介紹了JavaScript 作用域,結(jié)合實(shí)例形式分析了JavaScript函數(shù)作用域相關(guān)概念、原理及操作注意事項(xiàng),需要的朋友可以參考下
本文實(shí)例講述了JavaScript 作用域。分享給大家供大家參考,具體如下:
JavaScript 作用域
1. JavaScript 以函數(shù)作為作用域
JavaScript: 以函數(shù)做為作用域
function func(){
if(1==1){
var name = 'xsk'
}
console.log(name);
}
func()
2. 函數(shù)作用域在函數(shù)未被調(diào)用之前,已經(jīng)創(chuàng)建
JavaScript:函數(shù)作用域提前創(chuàng)建
function func(){
if(1==1){
var name = 'xsk'
}
console.log(name);
}
3. 函數(shù)的作用域在作用域鏈,并且也是在被調(diào)用之前創(chuàng)建
JavaScript:作用域鏈提前創(chuàng)建
示例一:
xo = "xsk";
function func(){
var xo = "miy"
function inner(){
var xo = "nn"
console.log(xo)
}
inner()
}
func()
// 輸出 nn
示例二:
xo = "xsk";
function func(){
var xo = "miy"
function inner(){
console.log(xo)
}
return inner;
}
var ret = func()
// 輸出miy
// ret 相當(dāng)于 inner()函數(shù)
示例三:
xo = "xsk";
function func(){
var xo = "miy"
function inner(){
console.log(xo)
}
var xo = "tony"
return inner;
}
var ret = func()
ret()
// 輸出tony
注:作用域嵌套作用域被稱為作用域鏈。
注:查找變量會優(yōu)先在本地作用域找,沒有在跳到下一級。
4. 函數(shù)內(nèi)局部變量提前聲明
JavaScript:函數(shù)局部變量提前聲明
示例一:
function func(){
console.log(xxoo);
}
func();
// 報(bào)錯
示例二:
function func(){
console.log(xxoo);
var xxoo = 'xsk'
}
func();
// 輸出 undefined
// 函數(shù)執(zhí)行順序,誰在前面誰執(zhí)行
(1)、JavaScript 當(dāng)創(chuàng)建一個函數(shù)時,會自動生動生成作用域鏈。
(2)、生成作用域的同時會找到所有的局部變量提前聲明。(var 變量名)
(3)、為賦值的局部變量默認(rèn)為undefined。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- js變量以及其作用域詳解
- javascript 函數(shù)及作用域總結(jié)介紹
- JavaScript的變量作用域深入理解
- JSP中 Session和作用域的使用
- 關(guān)于javascript 回調(diào)函數(shù)中變量作用域的討論
- JavaScript中的作用域鏈和閉包
- js作用域及作用域鏈概念理解及使用
- 深入理解Javascript中this的作用域
- javascript從作用域鏈談閉包
- js 函數(shù)的執(zhí)行環(huán)境和作用域鏈的深入解析
- JS中作用域和變量提升(hoisting)的深入理解
- 深入Javascript函數(shù)、遞歸與閉包(執(zhí)行環(huán)境、變量對象與作用域鏈)使用詳解
相關(guān)文章
-
JavaScript數(shù)組的棧方法與隊(duì)列方法詳解
這篇文章主要介紹了JavaScript數(shù)組的棧方法與隊(duì)列方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下 2016-05-05
-
一個JavaScript防止表單重復(fù)提交的實(shí)例
防止重復(fù)表單提交的方法有很多,本文使用JavaScript來實(shí)現(xiàn)防止表單重復(fù)提交,很簡單,但很實(shí)用,新手朋友們不要錯過 2014-10-10
-
jquery form表單獲取內(nèi)容以及綁定數(shù)據(jù)
這篇文章主要介紹了jquery form表單獲取內(nèi)容以及form表單綁定數(shù)據(jù),獲取表單的數(shù)據(jù)保存到數(shù)據(jù)庫,或者將數(shù)據(jù)綁定到form表單,感興趣的小伙伴們可以參考一下 2016-02-02
-
如何利用JavaScript?實(shí)現(xiàn)繼承
這篇文章主要介紹了如何利用JavaScript?實(shí)現(xiàn)繼承,JavaScript?在編程語言界是個特殊種類,它和其他編程語言很不一樣,JavaScript可以在運(yùn)行的時候動態(tài)地改變某個變量的類型,下面小編將繼續(xù)介紹JavaScript如何實(shí)現(xiàn)繼承,需要的朋友可以參考下 2022-02-02
-
chatGPT教我寫compose函數(shù)的詳細(xì)過程
這篇文章主要介紹了chatGPT教我寫compose函數(shù),文中給大家介紹了chatGPT過程概略,本文結(jié)合實(shí)例代碼圖文給大家講解的非常詳細(xì),需要的朋友可以參考下 2023-02-02
最新評論
本文實(shí)例講述了JavaScript 作用域。分享給大家供大家參考,具體如下:
JavaScript 作用域
1. JavaScript 以函數(shù)作為作用域
JavaScript: 以函數(shù)做為作用域
function func(){ if(1==1){ var name = 'xsk' } console.log(name); } func()
2. 函數(shù)作用域在函數(shù)未被調(diào)用之前,已經(jīng)創(chuàng)建
JavaScript:函數(shù)作用域提前創(chuàng)建
function func(){ if(1==1){ var name = 'xsk' } console.log(name); }
3. 函數(shù)的作用域在作用域鏈,并且也是在被調(diào)用之前創(chuàng)建
JavaScript:作用域鏈提前創(chuàng)建
示例一:
xo = "xsk"; function func(){ var xo = "miy" function inner(){ var xo = "nn" console.log(xo) } inner() } func() // 輸出 nn
示例二:
xo = "xsk"; function func(){ var xo = "miy" function inner(){ console.log(xo) } return inner; } var ret = func() // 輸出miy // ret 相當(dāng)于 inner()函數(shù)
示例三:
xo = "xsk"; function func(){ var xo = "miy" function inner(){ console.log(xo) } var xo = "tony" return inner; } var ret = func() ret() // 輸出tony
注:作用域嵌套作用域被稱為作用域鏈。
注:查找變量會優(yōu)先在本地作用域找,沒有在跳到下一級。
4. 函數(shù)內(nèi)局部變量提前聲明
JavaScript:函數(shù)局部變量提前聲明
示例一:
function func(){ console.log(xxoo); } func(); // 報(bào)錯
示例二:
function func(){ console.log(xxoo); var xxoo = 'xsk' } func(); // 輸出 undefined // 函數(shù)執(zhí)行順序,誰在前面誰執(zhí)行
(1)、JavaScript 當(dāng)創(chuàng)建一個函數(shù)時,會自動生動生成作用域鏈。
(2)、生成作用域的同時會找到所有的局部變量提前聲明。(var 變量名)
(3)、為賦值的局部變量默認(rèn)為undefined。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
- js變量以及其作用域詳解
- javascript 函數(shù)及作用域總結(jié)介紹
- JavaScript的變量作用域深入理解
- JSP中 Session和作用域的使用
- 關(guān)于javascript 回調(diào)函數(shù)中變量作用域的討論
- JavaScript中的作用域鏈和閉包
- js作用域及作用域鏈概念理解及使用
- 深入理解Javascript中this的作用域
- javascript從作用域鏈談閉包
- js 函數(shù)的執(zhí)行環(huán)境和作用域鏈的深入解析
- JS中作用域和變量提升(hoisting)的深入理解
- 深入Javascript函數(shù)、遞歸與閉包(執(zhí)行環(huán)境、變量對象與作用域鏈)使用詳解
相關(guān)文章
JavaScript數(shù)組的棧方法與隊(duì)列方法詳解
這篇文章主要介紹了JavaScript數(shù)組的棧方法與隊(duì)列方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-05-05一個JavaScript防止表單重復(fù)提交的實(shí)例
防止重復(fù)表單提交的方法有很多,本文使用JavaScript來實(shí)現(xiàn)防止表單重復(fù)提交,很簡單,但很實(shí)用,新手朋友們不要錯過2014-10-10jquery form表單獲取內(nèi)容以及綁定數(shù)據(jù)
這篇文章主要介紹了jquery form表單獲取內(nèi)容以及form表單綁定數(shù)據(jù),獲取表單的數(shù)據(jù)保存到數(shù)據(jù)庫,或者將數(shù)據(jù)綁定到form表單,感興趣的小伙伴們可以參考一下2016-02-02如何利用JavaScript?實(shí)現(xiàn)繼承
這篇文章主要介紹了如何利用JavaScript?實(shí)現(xiàn)繼承,JavaScript?在編程語言界是個特殊種類,它和其他編程語言很不一樣,JavaScript可以在運(yùn)行的時候動態(tài)地改變某個變量的類型,下面小編將繼續(xù)介紹JavaScript如何實(shí)現(xiàn)繼承,需要的朋友可以參考下2022-02-02chatGPT教我寫compose函數(shù)的詳細(xì)過程
這篇文章主要介紹了chatGPT教我寫compose函數(shù),文中給大家介紹了chatGPT過程概略,本文結(jié)合實(shí)例代碼圖文給大家講解的非常詳細(xì),需要的朋友可以參考下2023-02-02