變數與常數

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. 常數通常以大寫字母命名。(未強制 只是一種習慣)

smiley如果你覺得寫的還不錯,請給我一個讚喔!!smiley

上一篇:javascript 初體驗..

下一篇:基礎資料型態(字串-數值-布林)


 
 

  按個讚!~支持本站!~

FB推薦載入中  

你可能會有興趣的文章