您好,登錄后才能下訂單哦!
本文實例講述了JavaScript 作用域。分享給大家供大家參考,具體如下:
JavaScript 作用域
1. JavaScript 以函數作為作用域
JavaScript: 以函數做為作用域
function func(){ if(1==1){ var name = 'xsk' } console.log(name); } func()
2. 函數作用域在函數未被調用之前,已經創建
JavaScript:函數作用域提前創建
function func(){ if(1==1){ var name = 'xsk' } console.log(name); }
3. 函數的作用域在作用域鏈,并且也是在被調用之前創建
JavaScript:作用域鏈提前創建
示例一:
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()函數
示例三:
xo = "xsk"; function func(){ var xo = "miy" function inner(){ console.log(xo) } var xo = "tony" return inner; } var ret = func() ret() // 輸出tony
注:作用域嵌套作用域被稱為作用域鏈。
注:查找變量會優先在本地作用域找,沒有在跳到下一級。
4. 函數內局部變量提前聲明
JavaScript:函數局部變量提前聲明
示例一:
function func(){ console.log(xxoo); } func(); // 報錯
示例二:
function func(){ console.log(xxoo); var xxoo = 'xsk' } func(); // 輸出 undefined // 函數執行順序,誰在前面誰執行
(1)、JavaScript 當創建一個函數時,會自動生動生成作用域鏈。
(2)、生成作用域的同時會找到所有的局部變量提前聲明。(var 變量名)
(3)、為賦值的局部變量默認為undefined。
更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。