您好,登錄后才能下訂單哦!
小編給大家分享一下javascript中局部變量是什么意思,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在javascript中,局部變量是在函數(shù)體內(nèi)聲明的變量或者是函數(shù)的命名參數(shù);局部變量具有局部范圍,這意味著局部變量只能在定義它的函數(shù)內(nèi)使用。由于局部變量是在函數(shù)內(nèi)定義的,因此具有相同名稱(chēng)的變量可用于不同的函數(shù)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
局部變量是在函數(shù)體內(nèi)聲明的變量或者是函數(shù)的命名參數(shù)。它們具有局部范圍,這意味著它們只能在定義它們的函數(shù)中使用。由于局部變量是在函數(shù)內(nèi)定義的,因此具有相同名稱(chēng)的變量可用于不同的函數(shù)。
由于 var 支持變量提升,所以 var 變量的全局作用域是對(duì)整個(gè)頁(yè)面的腳本代碼有效;而 let 和 const 不支持變量提升,所以 let 和 const 變量的全局作用域指的是從聲明語(yǔ)句開(kāi)始到整個(gè)頁(yè)面的腳本代碼結(jié)束之間的整個(gè)區(qū)域,而聲明語(yǔ)句之前的區(qū)域是沒(méi)有效的。
同樣,因?yàn)?var 支持變量提升,而 let 和 const 不支持變量提升,所以使用 var 聲明的局部變量在整個(gè)函數(shù)中有效,而使用 let 和 const 聲明的局部變量從聲明語(yǔ)句開(kāi)始到函數(shù)結(jié)束之間的區(qū)域有效。需要注意的是,如果局部變量和全局變量同名,則在函數(shù)作用域中,局部變量會(huì)履蓋全局變量,即在函數(shù)體中起作用的是局部變量;在函數(shù)體外,全局變量起作用,局部變量無(wú)效,此時(shí)引用局部變量將出現(xiàn)語(yǔ)法錯(cuò)誤。
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <center> <p>在myfunction()之外沒(méi)有定義petName。</p> <p id="demo1"></p> <p id="demo2"></p> <script> myfunction(); function myfunction() { var petName = "Sizzer"; // local variabl document.getElementById("demo1").innerHTML = "myfunction()函數(shù)內(nèi):"+ typeof petName + " " + petName; } document.getElementById("demo2").innerHTML = "myfunction()函數(shù)外:"+ typeof petName; </script> </center> </body> </html>
輸出:
上面的例子說(shuō)明了局部變量的使用。但是,函數(shù)外部的語(yǔ)句不能引用名為petName的變量而不會(huì)導(dǎo)致錯(cuò)誤。這是因?yàn)樗哂芯植糠秶?/p>
看完了這篇文章,相信你對(duì)“javascript中局部變量是什么意思”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。