變數與常數
- 詳細內容
- 分類:Javascript
- 發佈:2012-12-10, 週一 05:58
- 點擊數:5701
javascript變數的定義:
javascript的變數是一個用來儲存值的識別子,譬如說:
var x=5;
其中x就是一個儲存值5的識別子,也可以說是有一個名字叫做x的變數,他現在放的值是5。
變數可以儲存的值包含了各種的資料型態,包括基礎資料型態,物件。
基礎資料型態包含了數值,字串,布林。物件包含內建物件與自訂義物件。
下面例子給定了x 各種值。
var x="I am Vic"; //字串 var x=true; //布林 var x= new Date(); //物件
javascript變數的命名:
javascript變數的名字,是由$符號,底線,數字,與字母所組成。
javascript變數的名字開頭的名字不能是數字。
javascript1.5後可以使用Unicode字元與跳脫序列。
所以可以用中文命名變數名,不過一般很少人會這麼做。
跳脫序列命名會造成難以閱讀,非特別情形不建議使用。
(說明書說可以,但我試了一下,好像不太能用,不知道是怎麼回事@@??)
javascript 變數名是大小寫敏感的。所以Mycat 跟mycat 是不一樣的的變數。
javascript變數名不能是保留字。如下:
break | do | instance of | type of |
case | else | new | var |
catch | finally | return | void |
continue | for | switch | while |
debugger | function | this | with |
default | if | throw | delete |
in | try |
未來保留字,雖然在目前版本沒有特殊意義,但依然不能使用作為變數名。
class | enum | extends | super |
const | export | import |
Strict模式未來保留字,雖然在目前版本沒有特殊意義,但依然不能使用作為變數名。(Strict模式:嚴格模式,有較多的限制的javascript。)
implements | let | private | public |
yield | interface | package | protected |
static |
javascript 變數的範圍與宣告:
javascrit變數的有效範圍,分為區域變數與全域變數。
區域變數:只能在某一區塊內有效,譬如在某函式內的變數,一旦程式執行離開函式,變數便會失效。
全域變數:整個程式執行區塊都有效,一直到程式結束為止。
javascript的變數宣告方式就像一開始的範例一樣:
var x=5;
宣告有個變數名字叫做x,然後指定一個值 5 給他。
事實上也可以省略var。
x=5;
javascript 是個寬鬆型的語言,可以不經宣告,直接指定值給變數。
但沒宣告過或被指定值的變數不能指定給其他變數。
y=5; // 正確 x=y; //正確 x=z; //錯誤 z未被定義。 var s; x=s; //正確
另外,這種不使用關鍵字var直接給定值的方式,對全域變數而言是沒有差異的。
但區域變數是不行的。任何不使用var關鍵字的變數,都會被視為全域變數。
看一下例子:
不使用 var關鍵字:
<script type ="text/javascript"> function test(){ x=5; } test() alert(x); // 彈出視窗 顯示5 </script>
使用var關鍵字:
<script type ="text/javascript"> function test(){ var x=5; } test(); alert(x); // 錯誤訊息 x未經定義 </script>
使用var宣告變數是個好習慣,以免誤使區域變數變成了全域變數。
尤其是在匯入其他函式庫的時候更為重要。
避免變數名稱衝突是必然要的。
javascript常數:
常數的宣告使用const關鍵字:
const PIE=3.14
javascript的常數也有區域變數和廣域變數之分。
常數的定義與變數十分類似,但是有幾點不一樣:
1. 常數的值只能定義一次,因此在定義時就必須對它初始化,並且不能改變。
2. 常數通常以大寫字母命名。(未強制 只是一種習慣)
如果你覺得寫的還不錯,請給我一個讚喔!!
按個讚!~支持本站!~
你可能會有興趣的文章
- javascript 基礎資料型態(字串 數值 布林)
- javascript 初體驗..
- javascript 簡易手工萬年曆
- javascript沒有sleep跟delay
- javascript 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值不只是true
- javascript onload 都不onload了- 淺談onload的弔詭