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

