天天看點

JavaScript 變量

對變量來說,JavaScript 可能是最寬松的語言了。你在使用它之前不必定義一個變量是什麼,并且在腳本中你可以随時改變一個變量的類型。然後,為了容易維護并保持一個嚴格的編碼文法,在你的腳本的開頭明确的聲明變量或者在你的函數中明确定義局部變量是一個非常好的習慣。

我們通過一個唯一的名字和使用var關鍵字來定義一個變量。

變量名必須以字母表中的一個字元或者一個下劃線開始,而名字的其它部分可以由數字,字母,美元符和下劃線構成。不要是用任何其它的字元。

n        注解:跟JavaScript中的大多數詞語一樣,變量名是大小寫敏感的:thisVariable和 ThisVariable是不同的變量。給你的變量命名要非常小心;如果你給它們命名不一緻,那麼你會碰到任何類型的錯誤。為了避免那樣的結果,大多數程式員使用駱駝命名法(camel notation):變量名以一個小寫字母開始,而後面的單詞則大寫并且沒有空格是不間斷的。如這個變量名thisVariable。

始終給你的變量起有意義的名字。在我們的下一個例子中,我們将會寫一個匯率轉換程式,是以我們會使用像euroToDollarRate 和dollarToPound這樣的變量名。對變量進行描述性命名由兩個優點:當你隔一段時間回過頭再來看的時候,更容易記得代碼是做什麼的;其它剛接觸代碼的人可以更容易明白程式是做什麼的。代碼的可讀性和布局對網頁的開發是非常重要的。它可以更快速,更容易的發現錯誤并調試它們,然後按照你想要的修改代碼。

n        注解:變量聲明以關鍵字var開始,在技術上并不是必需的。不使用它表示隐含,你會在下一步中看到。

正如我們所說的一切,我來開始聲明變量吧。我們可以聲明一個變量而不對他進行初始化(給它賦一個值):

var myVariable;

然後它就可以準備并等待我們有值的時候指派。這樣對變量是非常有用的,可以用來儲存使用者的輸入。

我們也可以同時對變量進行定義了初始化:

var myVariable = "A String";

var anotherVariable = 123;

或者我們可以通過把prompt()函數的傳回值或一個計算的和賦給它來定義并初始化一個變量:

var eurosToConvert = prompt( "How many Euros do you wish to

convert", "" );

var dollars = eurosToConvert * euroToDollarRate;

prompt() 函數是JavaScript的一個函數,它用來讓使用者輸入一個值然後把它傳回到代碼中。這裡我們把輸入的值賦給變量eurosToConvert。

初始化你的變量是個非常好的主意,尤其是在你可以給它們賦一個對程式有用的預設值的時候。甚至初始化一個變量為空字元串也是非常好的主意,因為你可以對它進行核對而不會引起錯誤資訊,如果變量沒有一個值,錯誤就會突然出現。

讓我們看一下變量是如何提高你的代碼的可讀性和實用性。

下面是一個沒有任何變量的代碼塊:

<html>

<body>

<script type="text/javascript">

document.write( 0.872 * prompt( "How many Euros do you

wish to convert", "" ) );

</script>

</body>

</html>

不是那麼可以輕易看出,這段代碼是把歐元(euros)轉化成美元(dollars),因為沒有任何東西告訴我們0.872就是匯率。可是這段代碼工作很好;如果你用數字10試驗一下,你就會得到如下的結果:

8.72

我們使用在這個例子中使用了視窗(window)對象的prompt()方法來獲得使用者的輸入(這個執行個體中window對象時可選的,為了保持代碼簡短你可以忽略它)。這個方法有兩個參數:一個是顯示在使用者輸入框上面的标簽,另一個是輸入框的初始值。在第四章中,你會學到更多關于prompt()的知識以及如何來使用它。假設我們需要結果顯示更多的資訊,如:

10 Euros is 8.72 Dollars

不使用變量,能實作的唯一方式就是讓使用者對他們想轉換的歐元(euros)輸入兩次,那樣确實對使用者顯得不會很友好。可是使用變量,我們可以臨時把資料存起來,然後再我們需要的時候可以多次調用它:

// Declare a variable holding the conversion rate

var euroToDollarRate = 0.872;

// Declare a new variable and use it to store the

// number of euros

var eurosToConvert = prompt( "How many Euros do you wish

to convert", "" );

// Declare a variable to hold the result of the euros

// multiplied by the conversion

// Write the result to the page

document.write( eurosToConvert + " euros is " + dollars +

" dollars" );

我們使用了三個變量:一個用來存儲歐元(euros)到美元(dollars)的匯率,另一個存儲需要轉化的歐元數(euros),最後一個儲存着轉換成美元(dollars)的結果。接下來我們所要做的就是使用兩個變量把結果寫出來。這個腳本不隻更具實用性,而且它也更加容易讀懂。

繼續閱讀