?? day3_6.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 size="3" face="宋體">給定時器加入變量</font></strong>
<p><font size="3"><font face="宋體">定時器的功能主要在于設定某個未來的時間,讓Javascript到<br>
時執行某個語句:<br>
<br>
var the_string = "hello";<br>
the_timeout = setTimeout("alert(the_string);", 60000);<br>
<br>
這兩行指令讓JavaScript等待一分鐘然后彈出一個提示框顯<br>
示<tt>the_string</tt>變量所包含的內容。所以一分鐘后JavaScript就<br>
尋找叫做<tt>the_string</tt>的變量并調用<tt>alert()</tt>。但是問題是一分鐘<br>
后該變量中所包含的內容可能后是別的什么。所以如果你把這<br>
兩行代碼放在一個函數內,<tt>setTimeout</tt>有可能會報錯。例如在<br>
下例中:<br>
function alertInAMinute()<br>
{<br>
var the_string = "hello";<br>
the_timeout = setTimeout("alert(the_string);", 60000);<br>
}<br>
</font></font></p>
<font size="3">
<p><font face="宋體">然后你在某個鏈接中調用這個函數:</font></p>
</font>
<blockquote>
<pre>
<font size="3"></font><font size="3" face="宋體">
<a href="#" onClick="alertInAMinute(); return false;">blah!</a>
</font></pre>
</blockquote>
<font size="3">
<p><font face="宋體">可能會出錯。因為你定義名為<tt>the_string</tt>的變量時用的是<tt>var</tt>,<br>
而當你在一個函數內使用<tt>var</tt>時,Javascript將其理解為該變量<br>
只存在于該函數中。一旦離開該函數而進入另一個函數后,該<br>
變量就會從Javascript的記憶中消失。所以當后來需要調用該變<br>
量時,Javascript從它的記憶中是不可能找到該變量的,錯誤因<br>
此就產生了。 </font></p>
<p><font face="宋體">產生問題的原因在于你將一個變量傳遞給<tt>setTimeout</tt>。你可以通<br>
過將變量的值而不是變量本身傳遞給setTime來避免這個問題: </font></p>
<blockquote>
<pre><font face="宋體">function alertInAMinute()
{
var the_string = "hello";
the_timeout = setTimeout("alert(" + the_string + ");",60000);
}
</font></pre>
</blockquote>
<p><font face="宋體">這段代碼將變量<tt>the_string</tt>從<tt>setTimeout</tt>的引號中拉出來,由于<br>
該變量變量目前不在setTimeout的引號內,JavaScript就可以從<br>
記憶中找到該變量的值。 </font></p>
<p><font face="宋體">定時器在動態HTML中用途非常廣泛,所以值得你仔細研究它。</font></p>
<p><font face="宋體">要使所有的擁護都能看到動態HTML的內容,你必須了解如何識別<br>
用戶所使用的瀏覽器。<a href="day3_7.html">>></a></font></p>
</font>
<p><font face="宋體" size="3" color="#000000"><strong>JavaScript高級教程</strong></font><font color="#FF0000" face="宋體" size="3"><br>
</font><font face="宋體"><font color="#FF0000">第一頁</font> <a href="day3_6.html">Javascript高級教程
- 第三課</a><br>
<font size="3"><font color="#FF0000">第二頁</font> <a href="day3_2.html">如何給事件定時</a><br>
<font color="#FF0000">第三頁</font> <a href="day3_3.html">定時循環的概念</a><br>
<font color="#FF0000">第四頁</font> <a href="day3_4.html">定時循環的做法</a><br>
<font color="#FF0000">第五頁</font> <a href="day3_5.html">一個Javascript編寫的時鐘</a><br>
<font color="#FF0000">第六頁</font> 給定時器加入變量<br>
<font color="#FF0000">第七頁</font> <a href="day3_7.html">識別用戶的瀏覽器</a><br>
<font color="#FF0000">第八頁</font> <a href="day3_8.html">如何識別用戶的瀏覽器</a><br>
<font color="#FF0000">第九頁</font> <a href="day3_9.html">對象和方法的識別</a><br>
<font color="#FF0000">第十頁</font> <a href="day3_10.html">History對象</a></font></font></p>
<p>[<a href="day1_1.html">第1課</a>][<a href="day2_1.html">第2課</a>][第3課]<font size="3">[<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 + -