您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript有哪些變量”,在日常操作中,相信很多人在javascript有哪些變量問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”javascript有哪些變量”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
javascript有3種變量,分別為:1、全局變量,該變量聲明在所有函數(shù)之外;3、局部變量,它是在函數(shù)體內(nèi)聲明的變量或者是函數(shù)的命名參數(shù);3、塊級(jí)變量,它是在塊中聲明的變量,只在塊中有效。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript有3種變量,分別為全局變量、局部變量和塊級(jí)變量。
全局變量聲明在所有函數(shù)之外;局部變量是在函數(shù)體內(nèi)聲明的變量或者是函數(shù)的命名參數(shù);塊級(jí)變量是在塊中聲明的變量,只在塊中有效。
3種變量對(duì)應(yīng)3種作用域:全局作用域、局部作用域(也稱函數(shù)作用域)、塊級(jí)作用域;變量的作用域跟聲明方式有很密切的關(guān)系。
使用 var 聲明的變量的作用域有全局作用域和函數(shù)作用域,沒有塊級(jí)作用域;使用 let 和 const 聲明的變量有全局作用域、局部作用域和塊級(jí)作用域。
注意:嚴(yán)格意義的全局變量都屬于 window 對(duì)象的屬性,但 let 和 const 聲明的變量并不屬于 window 對(duì)象,所以它們并不是嚴(yán)格意義上的全局變量,在此僅僅從它們的作用域這個(gè)角度來說它們是全局變量的。
由于 var 支持變量提升,所以 var 變量的全局作用域是對(duì)整個(gè)頁面的腳本代碼有效;而 let 和 const 不支持變量提升,所以 let 和 const 變量的全局作用域指的是從聲明語句開始到整個(gè)頁面的腳本代碼結(jié)束之間的整個(gè)區(qū)域,而聲明語句之前的區(qū)域是沒有效的。
同樣,因?yàn)?var 支持變量提升,而 let 和 const 不支持變量提升,所以使用 var 聲明的局部變量在整個(gè)函數(shù)中有效,而使用 let 和 const 聲明的局部變量從聲明語句開始到函數(shù)結(jié)束之間的區(qū)域有效。需要注意的是,如果局部變量和全局變量同名,則在函數(shù)作用域中,局部變量會(huì)履蓋全局變量,即在函數(shù)體中起作用的是局部變量;在函數(shù)體外,全局變量起作用,局部變量無效,此時(shí)引用局部變量將出現(xiàn)語法錯(cuò)誤。
對(duì)塊級(jí)變量來說,其作用域是塊級(jí)變量聲明語句開始到塊結(jié)束之間的區(qū)域。在塊開始到塊級(jí)變量聲明語句之間的區(qū)域?yàn)椤皶簳r(shí)性死區(qū)”,在這個(gè)區(qū)域,塊級(jí)變量沒有效。
另外,在非嚴(yán)格運(yùn)行模式中,變量可以不需要聲明,這些沒有聲明的變量,不管在哪里使用都屬于全局變量。通常不建議變量不聲明而直接使用,因?yàn)檫@樣有可能會(huì)產(chǎn)生一些不易發(fā)現(xiàn)的錯(cuò)誤。
到此,關(guān)于“javascript有哪些變量”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。