回復(fù)“前端”即可獲贈(zèng)前端相關(guān)學(xué)習(xí)資料
今
日
雞
湯
楊家有女初長成,養(yǎng)在深閨人未識(shí)。在JavaScript中,對(duì)象和函數(shù)也是變量。在JavaScript中,作用域是你可以訪問的變量、對(duì)象和函數(shù)的集合。
JavaScript 有函數(shù)作用域: 這個(gè)作用域在函數(shù)內(nèi)變化。
一、本地JavaScript變量
一個(gè)變量聲明在JavaScript函數(shù)內(nèi)部,成為函數(shù)的局部變量。
局部變量有局部作用域: 它們只能在函數(shù)中訪問。
JS:
//code here can not use carName <script> reFunction(); document.getElementById("demo").innerHTML = "carName的類型是 " + typeof carName;
function reFunction() { var carName = "Volvo"; }</script>
由于局部變量只在它們的函數(shù)中被識(shí)別,所以具有相同名稱的變量可以在不同的函數(shù)中使用。
當(dāng)函數(shù)啟動(dòng)時(shí)創(chuàng)建局部變量,當(dāng)函數(shù)完成時(shí)刪除。
二、全局JavaScript變量
函數(shù)外聲明的變量, 成為全局變量。
全局變量具有全局作用域: 網(wǎng)頁上的所有腳本和函數(shù)都可以訪問它。
<script> var carName = "Volvo"; //可以從任何腳本或函數(shù)訪問全局變量 myFunction();
function myFunction() { document.getElementById("demo").innerHTML = "I can display " + carName; }</script>
自動(dòng)全局
如果給未聲明的變量賦值, 它會(huì)自動(dòng)成為全局變量。
此代碼示例將聲明一個(gè)全局變量carName,即使賦的值是函數(shù)內(nèi)部。
myFunction();
// code here can use carName
function myFunction() { carName = "Volvo";}
不要?jiǎng)?chuàng)建全局變量,除非你非常需要,在嚴(yán)格模式下 "Strict Mode"自動(dòng)全局變量將失敗。
三、在HTML中的全局變量
在JavaScript中,全局作用域是完整的JavaScript環(huán)境。
在HTML中,全局作用域是window對(duì)象。所有的全局變量都屬于window對(duì)象。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>項(xiàng)目</title></head><body style="background-color: aqua;">
<p> 在HTML中,所有的全局變量將成為窗口window變量。 </p>
<p id="demo"></p>
<script> var carName = "Volvo";
// code here can use window.carName document.getElementById("demo").innerHTML = "I can display " + window.carName;</script>
</body></html>
全局變量(或函數(shù))可以覆蓋窗口變量(或函數(shù)). 任何函數(shù),包括窗口對(duì)象,都可以覆蓋全局變量和函數(shù).
四、JavaScript 代碼塊作用域
表中是var,let和const之間的區(qū)別。
關(guān)鍵詞范圍可以重新分配可以重新聲明
var函數(shù)作用域是是
let塊作用域是否
const塊作用域否否
用var關(guān)鍵字聲明的變量不能具有塊作用域,{}可以從塊外部訪問在塊內(nèi)部聲明的變量:
{ var num = 50; } // num 能在這里使用用let關(guān)鍵字聲明的變量可以具有“塊作用域”。
{}不能從塊外部訪問在塊內(nèi)部聲明的變量:
{ let num = 50; } // num不能在這里使用聲明變量with const與let]涉及塊作用域類似。
{ const num = 50; } // num不能在這里使用常量的值不能通過重新分配而更改,也不能重新聲明。
五、總結(jié)
本文基于JavaScript,介紹了了函數(shù)作用域和變量作用域。介紹了變量中全局變量的幾種顯示的方法,在HTML中的全局變量應(yīng)該如何去表示。通過案例的講解,讓讀者更好的去理解。
代碼很簡(jiǎn)單, 希望能夠幫助你學(xué)習(xí)。
------------------- End -------------------