JavaScript 作用域實例分析
本文實例講述了JavaScript 作用域。分享給大家供大家參考,具體如下:
JavaScript 作用域
1. JavaScript 以函數(shù)作為作用域
JavaScript: 以函數(shù)做為作用域
function func(){ if(1==1){ var name = 'xsk' } console.log(name); } func()
2. 函數(shù)作用域在函數(shù)未被調用之前,已經(jīng)創(chuàng)建
JavaScript:函數(shù)作用域提前創(chuàng)建
function func(){ if(1==1){ var name = 'xsk' } console.log(name); }
3. 函數(shù)的作用域在作用域鏈,并且也是在被調用之前創(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 相當于 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ù)內局部變量提前聲明
JavaScript:函數(shù)局部變量提前聲明
示例一:
function func(){ console.log(xxoo); } func(); // 報錯
示例二:
function func(){ console.log(xxoo); var xxoo = 'xsk' } func(); // 輸出 undefined // 函數(shù)執(zhí)行順序,誰在前面誰執(zhí)行
(1)、JavaScript 當創(chuàng)建一個函數(shù)時,會自動生動生成作用域鏈。
(2)、生成作用域的同時會找到所有的局部變量提前聲明。(var 變量名)
(3)、為賦值的局部變量默認為undefined。
更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》及《JavaScript數(shù)學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
- js變量以及其作用域詳解
- javascript 函數(shù)及作用域總結介紹
- JavaScript的變量作用域深入理解
- JSP中 Session和作用域的使用
- 關于javascript 回調函數(shù)中變量作用域的討論
- JavaScript中的作用域鏈和閉包
- js作用域及作用域鏈概念理解及使用
- 深入理解Javascript中this的作用域
- javascript從作用域鏈談閉包
- js 函數(shù)的執(zhí)行環(huán)境和作用域鏈的深入解析
- JS中作用域和變量提升(hoisting)的深入理解
- 深入Javascript函數(shù)、遞歸與閉包(執(zhí)行環(huán)境、變量對象與作用域鏈)使用詳解
相關文章
jquery form表單獲取內容以及綁定數(shù)據(jù)
這篇文章主要介紹了jquery form表單獲取內容以及form表單綁定數(shù)據(jù),獲取表單的數(shù)據(jù)保存到數(shù)據(jù)庫,或者將數(shù)據(jù)綁定到form表單,感興趣的小伙伴們可以參考一下2016-02-02