# 變數/常數 ###### tags: `JavaScript` - 變數 - 就是存放「資料」的箱子,儲存在箱子裡的值會隨著我們程式處理的過程而==更動==。 - 有點像生命體的概念,就像"人"一樣隨著時間而改變(長大),每個階段都不一樣 - 常數 - 裡面的東西不變 - 石頭,無生命的東西 --- ### 一、命名規則 1. 第一個字不能是數字 2. 有區分==大小寫== 3. 可用中文(**盡量不要**) 4. 第一個字 可以為底線_ 5. 不可定義保留字,例:let if =23; :::info 讓程式碼易於閱讀的小規則 - 不要過長或過短 - 易於理解該變數在做什麼 - 用英文單字命名 - 不要使用易混淆的名稱(i,1,l) 識別字主要寫法 - camlCase 小駝峰寫法 - 第一個英文字小寫,之後的單字第一個為大寫 EX:lastTime - Pascal - 所有單字第一個字元都大寫 EX:LastName - 底線法 - 單字之間以底線來做區隔 EX:last_name ::: :::warning 考量呼叫便利性,頻繁呼叫的函數名稱,會以「$」作為起始字元命名 ::: --- ### 二、宣告此變數/常數的指令 - var - 宣告全域變數,全部 - 宣告一個可隨意更改其內容的變數 ```javascript! var apple = 12; var apple = 36; ``` >有點隨便,我想怎麼改就怎麼改,但到最後會搞混這個變數到底有沒有用過 - let 宣告一個可隨意更改其內容的**區塊區域變數** :::info - 名詞解釋 - 區塊 - 指用{ }所框起來的內容,通常在是在for或while裡面 - 區域變數 - 指在**function函式**內所宣告的變數,此變數只提供在此函式內使用,函式外的不能使用該變數。 - 相反:全域變數 - 大家皆可呼叫使用他,然後變數就變得一團亂X - EX:var ::: - const 宣告一個只可讀取的不可變==常數== - 易於維護 - 明確表達數值意涵 --- ## 三、差別與建議: 1. let 與 const 差別: let 所定義的變數,能改變(可被覆寫);  const 所定義的變數,則不能改變(不可被覆寫)。  var 所定義的變數,能改變(可被覆寫),但定義較不明確,不推薦使用; ## let const 重複宣告變數問題 let 跟 const 皆不可重複宣告,不然會產生問題 但若是分層宣告則不會產生問題 | 分層宣告 | 合在一起(形成重複宣告) | | -------- | -------- | | || 產生錯誤訊息: Uncaught SyntaxError: Identifier 'n' has already been declared 資料來源: https://ithelp.ithome.com.tw/articles/10233551 [初探JavaScript - JS全域變數與區域變數](https://ithelp.ithome.com.tw/articles/10234400)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up