?? day1_4.html
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312-80">
<style type="text/css">
<!--
a:link { color: blue; text-decoration: none}
a:visited { color: purple; text-decoration: none}
a:hover { color: #CC0033; text-decoration: underline}
-->
</style>
<title>JavaScript高級教程</title>
</head>
<body topmargin="1" leftmargin="2">
<table border="0" width="591" cellspacing="0">
<tr>
<td bgcolor="#ffff99" width="451">JavaScript高級教程 - 第一課</td>
</tr>
<tr>
<td bgcolor="#FF6600" width="451"><a href="mailto:thau@wired.com">Thau</a></td>
</tr>
</table>
<div align="left">
<table border="0" width="630" cellspacing="0">
<tr>
<td width="458" valign="top" align="left" rowspan="2"><small><small><br>
</small></small><strong>第四頁:<font face="宋體" size="3">什么是變量</font></strong>
<p>這里是一個應用變量的例子: <br>
var happiness = "a banana split";<br>
<br>
alert("The monkeys think happiness is " + happiness);<br>
這行代碼聲明一個叫做happiness的變量,然后在一個alert對<br>
話框中調用這個變量。如果你看過別人的JavaScript,你可能<br>
會注意到他們在聲明變量時使用了var,這種用法可能會造成<br>
問題。首先,可能會造成有些版本的 MSIE癱瘓,或運行不正<br>
常。這種情況在Mac機上的MSIE最有可能發生。其次,如果你編<br>
寫很復雜的JavaScripts,你必須編寫你自己的函數,所以你必<br>
須了解變量的含義。</p>
<p>正如上次的JavaScript 教程: 第四天中所述,函數是被調用后<br>
執行某特定功能的JavaScript 程序代碼。最好的函數具有模塊<br>
化的特性,你可以控制輸入的變量以及輸出的結果。而且一旦<br>
編好之后你就無需擔心它會出問題,而且不會和別的函數發生<br>
沖突。要使編寫地函數具備這些穩定的特性,你必須確保不要<br>
輕易改變那些作為參數傳遞給其他函數的變量. 下面對例子顯<br>
示了如果你不注意這些細節會造成什么后果。假設我們編寫一<br>
個程序將華氏溫度轉換為攝氏溫度。點擊華氏/攝氏來觀察一下<br>
我所指的意思。如果你轉換轉換華氏50度,則會出現一條信息:<br>
“華氏50度相當于攝氏10度。”以下是代碼:</p>
<p>function fahrenToCelsius(fare)<br>
{<br>
temp = (faren - 32) * 5/9;<br>
return temp;<br>
}<br>
function convertTemp()<br>
{<br>
temp = prompt("what temperature fahrenheit?
","50");<br>
celsius = fahrenToCelsius(temp);<br>
alert(temp + " degrees Fahrenheit is "
+ <br>
celsius + " degrees Celsius.");<br>
} </p>
<p>這個程序很簡單。一個叫做convertTemp()得函數調用另外一個<br>
叫做fahrenToCelsius()并返回結果。如果你對本程序不是很懂,<br>
你需要重新學習以下上次的javasript教程第4日。</p>
<p>關于這個例子讓人困惑之處在兩個函數中都有一個叫做temp得<br>
變量,在convertTemp()函數中它的作用 是儲存華氏溫度<br>
Fahrenheit值 (由用戶提供)。在fahrenToCelsius()函數中,<br>
它用于計算轉換后燈攝氏溫度值Celsius。這個不僅讓我們感到<br>
困惑而且也會讓這個Javascript程序感到困惑。如果你試圖用<br>
變量運行這段代碼就會發生下面的結果:如果你希望轉換華氏<br>
50度,則會顯示下面的信息:"10 degrees Fahrenheit is 10<br>
degrees Celsius."(華氏10度相當于攝氏10度)。為什么你輸入<br>
的是華氏50度,而程序卻將其理解為你輸入了10度呢?我們來<br>
研究一下這個程序的執行過程。當我們調用函數convertTemp()<br>
并在提示欄中輸入了"50"時,我們得到temp = 50;然后"temp"<br>
被傳遞給函數farenToCelsius()。在farenToCelsius()中,參<br>
數faren被設定為50,而"temp" 被設定為(50 - 32) x 5/9, 其<br>
結果是10。在返回結果之前,各項參數值是:</p>
<p>faren = 50<br>
temp = 10</p>
<p>現在farenToCelsius()將10返回給變量celsius: </p>
<p>temp = 10<br>
celsius = 10</p>
<p>現在我們得到一個錯誤的語句: "10 degrees Fahrenheit is 10<br>
degrees Celsius"。如果你仔細一些,不要將兩個函數中等變<br>
量起同樣的名稱就可以避免這些問題。但這也不是最佳解決<br>
方案。當你不斷加入更多的函數時,很難確保你不會將函數中<br>
的變量重名。而且如果你重復使用許多變量名例如loop,index,<br>
count, 和the_name時,使用不同的名稱實在是一個很令人頭疼<br>
的事。</p>
<p>最好的解決辦法是讓JavaScript明白在fahrenToCelsius()函數<br>
中用到達變量temp和在convertTemp() 函數中用到的變量temp<br>
是兩碼事。如果每個函數都有只應用于本函數內部的變量temp<br>
你就無需擔心不同函數中的同名變量會攪成一團。而var就是用<br>
于這個目的。<a href="day1_5.html">>></a></p>
<p><font face="宋體" size="3" color="#000000"><strong>JavaScript高級教程</strong></font><font color="#FF0000" face="宋體" size="3"><br>
</font><font face="宋體" size="3"><font color="#FF0000">第一頁</font> <a href="day1_4.html">Javascript高級教程</a><br>
<font color="#FF0000">第二頁</font> <a href="day1_2.html">本教程的課程計劃</a><br>
<font color="#FF0000">第三頁</font> <a href="day1_3.html">一個if-then-else的快捷方式</a><br>
<font color="#FF0000">第四頁</font> 什么是變量<br>
<font color="#FF0000">第五頁</font> <a href="day1_5.html">變量的使用方法</a></font></p>
<p><font size="3">[第1課][<a href="day2_1.html">第2課</a>][<a href="day3_1.html">第3課</a>][<a href="day4_1.html">第4課</a>][<a href="day5_1.html">第5課</a>]</font></p>
<hr align="left">
<!--webbot bot="Include" U-Include="../../copyright.html" TAG="BODY" startspan -->
<p><font face="verdana, arial, geneva, sans-serif" size="2"><a href="http://phtshop.yeah.net" target="_top">本文根據
網猴 相關文章改編,版權歸原作者所有。</a> </font><font color="#000000"><span class="smallfont"></span></font></p>
<!--webbot bot="Include" endspan i-checksum="15926" --> </td>
</tr>
<tr> </tr>
</table>
</div>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -