????? 作者簡(jiǎn)介:程序員半夏 , 一名全棧程序員,擅長(zhǎng)使用各種編程語(yǔ)言和框架,如JavaScript、React、Node.js、Java、Python、Django、MySQL等.專(zhuān)注于大前端與后端的硬核干貨分享,同時(shí)是一個(gè)隨緣更新的UP主. 你可以在各個(gè)平臺(tái)找到我!
?? 本文收錄于專(zhuān)欄: 零基礎(chǔ)學(xué)JavaScript,包含JavaScript 基礎(chǔ)知識(shí),DOM相關(guān)知識(shí),高級(jí)知識(shí)點(diǎn),最新ES特性
————————————————————————
?? 熱門(mén)專(zhuān)欄:?? 學(xué)透CSS: 全網(wǎng)閱讀超百萬(wàn),CSDN最強(qiáng)CSS專(zhuān)欄,精通CSS全屬性,不做切圖仔,從訂閱本專(zhuān)欄開(kāi)始!
?? SprinbBoot + Vue3 項(xiàng)目實(shí)戰(zhàn): 新鮮出爐的2023實(shí)戰(zhàn)系列博客,配套視頻,用心打磨,篇篇精品.持續(xù)更新,值得訂閱!
JavaScript 為數(shù)以百萬(wàn)計(jì)的網(wǎng)站和應(yīng)用程序提供支持。在開(kāi)發(fā)網(wǎng)站時(shí),組織信息和存儲(chǔ)數(shù)據(jù)非常重要。JavaScript 變量是一種在內(nèi)存中存儲(chǔ)信息或數(shù)據(jù)并為其命名的方式,以便于記住信息或數(shù)據(jù)的存儲(chǔ)位置。
想象一下建立一個(gè)電子商務(wù)網(wǎng)站,你必須存儲(chǔ)產(chǎn)品信息。對(duì)于每個(gè)產(chǎn)品,必須存儲(chǔ)產(chǎn)品名稱(chēng)、制造商、發(fā)布日期、可用數(shù)量和價(jià)格。現(xiàn)在作為開(kāi)發(fā)人員,一旦決定存儲(chǔ)所有這些信息,就會(huì)越來(lái)越難以記住每條信息存儲(chǔ)在內(nèi)存中的位置,因?yàn)橛?jì)算機(jī)上的內(nèi)存地址是一長(zhǎng)串?dāng)?shù)字和字符,不可能任何人都可以記住它們。一個(gè) JavaScript 變量用于命名這些內(nèi)存位置,以便在再次需要信息時(shí),只需使用變量名即可檢索信息。
在 JavaScript 中,使用 var
、let
和 const
關(guān)鍵字創(chuàng)建變量。最初,變量只能使用 var
關(guān)鍵字創(chuàng)建。但是由于使用 var
存在一些歷史上的缺陷,因此 let
和 const
被實(shí)現(xiàn)用于創(chuàng)建變量。建議開(kāi)發(fā)者不再使用 var
關(guān)鍵字來(lái)聲明變量。無(wú)論使用哪個(gè)關(guān)鍵字來(lái)聲明變量,語(yǔ)法仍然保持不變。
如下所示,可以通過(guò)指定關(guān)鍵字來(lái)創(chuàng)建變量,后面跟隨一個(gè)變量名稱(chēng),用于存儲(chǔ)和稍后檢索值,一個(gè)簡(jiǎn)單的賦值運(yùn)算符(等號(hào))用于分配變量值,以及要存儲(chǔ)的值本身。
<keyword> <variable_name> = <value_to_be_stored>
你可以選擇創(chuàng)建局部變量或全局變量。全局變量可以從程序中的任何位置訪問(wèn)。局部變量是在函數(shù)內(nèi)聲明的變量,這避免了與具有相同變量名的另一個(gè)變量發(fā)生沖突。
在JavaScript中,你還可以在一個(gè)語(yǔ)句中聲明多個(gè)變量。變量聲明也可以跨越多行。
JavaScript變量命名規(guī)范
以下是開(kāi)發(fā)者應(yīng)該遵循的規(guī)則,以正確地聲明變量:
- 變量名應(yīng)該只包含字母、數(shù)字、$和_
- 變量名不應(yīng)該以數(shù)字開(kāi)頭
- 變量名區(qū)分大小寫(xiě),即result和Result是兩個(gè)不同的變量
- 變量不能被命名為保留關(guān)鍵字之一,例如let、return、const等
- 變量應(yīng)該使用駝峰命名法,即numOne比NumOne或numone更好
- 變量名中不能有連字符-
- 使用易于理解的名稱(chēng)來(lái)表示變量中存儲(chǔ)的值。例如,開(kāi)發(fā)者可以將變量phNum稱(chēng)為phoneNumber,而不是phNum。
- 不要使用單個(gè)字母的變量名,如x、a、z等。
var numOne = 20;
var numTwo = 30;
var result = numOne + numTwo;
console.log(‘Result is: ‘, result);
var關(guān)鍵字
可以使用var關(guān)鍵字創(chuàng)建變量。
唯一需要記住的是,如果在使用var關(guān)鍵字聲明變量之前使用變量,JavaScript不會(huì)拋出錯(cuò)誤。
在現(xiàn)代使用JavaScript編寫(xiě)的程序中,不建議使用var關(guān)鍵字來(lái)創(chuàng)建變量,應(yīng)該使用let或const關(guān)鍵字代替。
使用var關(guān)鍵字創(chuàng)建的變量也是函數(shù)作用域也是全局作用域,即很難限制變量在大塊代碼中應(yīng)該可訪問(wèn)的位置。因此,使用var關(guān)鍵字編寫(xiě)的代碼難以維護(hù)。
let關(guān)鍵字
let關(guān)鍵字被引入來(lái)解決var關(guān)鍵字存在的變量提升問(wèn)題。使用let創(chuàng)建的變量是塊級(jí)作用域的,只能在聲明它的塊內(nèi)訪問(wèn)。這限制了變量在代碼中被其他地方覆蓋的問(wèn)題。
除此之外,使用let關(guān)鍵字創(chuàng)建的變量遵循與使用var關(guān)鍵字創(chuàng)建的變量相同的語(yǔ)法規(guī)則。使用let和var關(guān)鍵字創(chuàng)建的變量都可以被重新分配為不同類(lèi)型的值,因此它們是可變的。
let numOne = 20;
let numTwo = 30;
var result = numOne + numTwo;
console.log(‘Result is: ‘, result); // 輸出 50
numThree = 60;
result = numOne + numThree;
console.log(‘Result is: ‘, result); // 輸出 80
const 關(guān)鍵
有時(shí),創(chuàng)建的變量不應(yīng)更改其分配的值。如果使用 let 和 var 關(guān)鍵字聲明變量,則無(wú)法實(shí)現(xiàn)這一點(diǎn)。在這種情況下,應(yīng)使用 const 關(guān)鍵字創(chuàng)建變量。使用 const 關(guān)鍵字創(chuàng)建的變量無(wú)法更改其分配的值。它代表常量。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-448300.html
let numOne = 20;
let numTwo = 30;
const result = numOne + numTwo;
console.log(‘Result is: ‘, result); // 輸出50
numThree = 60;
result = numOne + numThree; // 不允許賦值給result
console.log(‘Result is: ‘, result); // 不會(huì)執(zhí)行console,因?yàn)樯厦娴馁x值會(huì)報(bào)錯(cuò)
const關(guān)鍵字有時(shí)也被用來(lái)命名存儲(chǔ)復(fù)雜值的變量,例如私鑰、顏色、字體等。這些值通常比較難以記憶和存儲(chǔ),因此使用const關(guān)鍵字來(lái)聲明這些變量是比較合適的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-448300.html
const LIGHT_GRAY = ‘#ccc’;
const DARK_GRAY = ‘#eee’;
到了這里,關(guān)于【零基礎(chǔ)學(xué)JS -6 】Javascript的變量的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!