首頁 > web前端 > js教程 > 主體

JS關於作用域的一個問題

php中世界最好的语言
發布: 2018-03-12 17:38:56
原創
1442 人瀏覽過

這次帶給大家JS關於作用域的一個問題,JS關於作用域的注意事項有哪些,下面就是實戰案例,一起來看一下。

var a = 1;function foo () {    console.log(a);    var a = 2;    console.log(a);
}
foo();
登入後複製

請分別寫出第一個 console.log 和第二個 console.log 的輸出值。
Javascript函數 變數的初始化順序

#預執行期

1.函數宣告被初始化,放置到全域變數(全域上下文環境)window中
2.var宣告的變數被放置到全域變數(全域上下文環境)window、或var所在的上下文環境如函數內部中,初始值為undefined

#執行期

當程式碼執行到時,變數賦值才會發生。非var宣告的變數也只在程式碼執行到後才被創建,然後放置到全域變數(全域上下文環境)window中

Javascript 上下文環境

全域上下文環境:Window

函數上下文環境:在函數內部使用var宣告的變數是本機變量,出了函數範圍後會被垃圾回收。閉包不會被垃圾回收。

即var宣告的變量,在預執行期都會被放到對應的上下文環境中,然後在執行期,對應上下文環境中的變數會被賦值。

答案

undefined 2

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

Angular的新手教學

#Node.js的新手教學(二)

Node.js的新手教學(一)

#

以上是JS關於作用域的一個問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板