📄 day4_9.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><script language="JavaScript"><!-- hide the scriptfunction simpleSwap(){ var the_image = prompt("change parrot or cheese",""); var the_image_name = "window.document." + the_image; var the_image_object = eval(the_image_name); the_image_object.src = "ant.gif";}// --> end hide</script></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">获取难以索引的对象</font></strong> <p><font size="3"> </font></p> <table border="0" width="447" cellpadding="0" cellspacing="0"> <tr> <td width="447"><font size="3">文档对象模型(</font><font face="helvetica, arial, sans-serif" size="3">DOM)</font><font size="3">的问题之一是</font><font face="helvetica, arial, sans-serif" size="3">:</font><font size="3">有时你要获取你要求的<br> 对象简直就是痛苦。例如,这里有一个函数询问用户要变换<br> 哪个图象</font><font face="helvetica, arial, sans-serif" size="3">:</font><font size="3"><a href="#" onClick="simpleSwap(); return false;">变换哪个图象</a></font></td> </tr> </table> <p><font size="3"> </font></p> <p align="center"><font size="3"><br> <img src="parrot.gif" name="parrot" width="32" height="32"> <img src="cheese.gif" name="cheese" width="32" height="32"> </font></p> <p><font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3">你可以用下面这个函数:</font></p> <blockquote> <pre> <font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3"></font><font face="verdana, arial, geneva, sans-serif" size="2">function swapOne(){ var the_image = prompt("change parrot or cheese",""); var the_image_object; if (the_image == "parrot") { the_image_object = window.document.parrot; } else { the_image_object = window.document.cheese; } the_image_object.src = "ant.gif";}</font></pre> </blockquote> <p> <font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3">连同这些</font><font face="verdana, arial, geneva, sans-serif" size="3">image</font><font size="3">标记</font><font face="verdana, arial, geneva, sans-serif" size="3">: </font></p> <font face="verdana, arial, geneva, sans-serif" size="3"> <blockquote> <pre><img src="stuff3a/parrot.gif" name="parrot"><img src="stuff3a/cheese.gif" name="cheese"></pre> </blockquote> </font> <p><font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3">请注意象这样的几行语句:</font></p> <blockquote> <pre> <font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3"></font><font face="verdana, arial, geneva, sans-serif" size="3">the_image_object = window.document.parrot;</font></pre> </blockquote> <table border="0" width="461" cellpadding="0" cellspacing="0"> <tr> <td width="461"> <font face="verdana, arial, geneva, sans-serif" size="3"> <font face="helvetica, arial, sans-serif" size="2"></font></font><font size="3"> <script language="JavaScript"><!-- hide the scriptfunction simpleSwap(){ var the_image = prompt("change parrot or cheese",""); var the_image_name = "window.document." + the_image; var the_image_object = eval(the_image_name); the_image_object.src = "http://static.wired.com/webmonkey/98/29/stuff3a/ant.gif";}// --> end hide </script> 它把一个鹦鹉图象对象敷给了一个变量。虽然看起来有点<br> 儿奇怪,它在语法上却毫无问题。但当你有</font><font face="verdana, arial, geneva, sans-serif" size="3">100</font><font size="3">个而不是两个<br> 图象时怎么办?你只好写上一大堆的 </font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>if-then-else</tt></font><font size="3">语句,要是<br> 能象这样就好了:</font></td> </tr> </table> <p><font size="3"> </font></p> <blockquote> <pre> <font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3"></font><font face="verdana, arial, geneva, sans-serif" size="2">function swapTwo(){ var the_image = prompt("change parrot or cheese",""); window.document.the_image.src = "ant.gif";}</font></pre> </blockquote> <table border="0" width="465" cellpadding="0" cellspacing="0"> <tr> <td width="465"> <font face="verdana, arial, geneva, sans-serif" size="3"> <font face="helvetica, arial, sans-serif" size="2"></font></font><font size="3">不幸的是</font><font face="verdana, arial, geneva, sans-serif" size="3">, JavaScript</font><font size="3">将会寻找名字叫 </font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>the_image</tt></font><font size="3">而不是你所希<br> 望的</font><font face="verdana, arial, geneva, sans-serif" size="3">"cheese"</font><font size="3">或者</font><font face="verdana, arial, geneva, sans-serif" size="3">"parrot"</font><font size="3">的图象,于是你得到了错误信息:”<br> 没听说过一个名为</font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>the_image</tt></font><font size="3">的对象”。</font></td> </tr> </table> <p><font size="3"> </font></p> <p> <font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3">还好,</font><font face="verdana, arial, geneva, sans-serif" size="3">eval</font><font size="3">能够帮你得到你想要的对象。</font></p> <pre> <font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3"></font><font face="verdana, arial, geneva, sans-serif" size="2">function simpleSwap(){ var the_image = prompt("change parrot or cheese",""); var the_image_name = "window.document." + the_image; var the_image_object = eval(the_image_name); the_image_object.src = "ant.gif";}</font></pre> <table border="0" width="456" cellpadding="0" cellspacing="0"> <tr> <td width="556"> <font face="verdana, arial, geneva, sans-serif" size="3"> <font face="helvetica, arial, sans-serif" size="2"></font></font><font size="3">如果用户在提示框里填入</font><font face="verdana, arial, geneva, sans-serif" size="3">"parrot"</font><font size="3">,在第二行里创建了一个字<br> 符串即</font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>window.document.parrot</tt>. </font><font size="3">然后包含了</font><font face="verdana, arial, geneva, sans-serif" size="3">eval</font><font size="3">的第三<br> 行意思是: </font><font face="verdana, arial, geneva, sans-serif" size="3">"</font><font size="3">给我对象</font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>window.document.parrot</tt>" - </font><font size="3">也就是<br> 你要的那个图象对象。一旦你获取了这个图象对象,你可以把<br> 它的</font><font face="verdana, arial, geneva, sans-serif" size="3">src</font><font size="3">属性设为</font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>ant.gif</tt>. </font><font size="3">有点害怕?用不着。其实这相当有<br> 用,人们也经常使用它。</font> <p><font face="verdana, arial, geneva, sans-serif" size="3"></font><font size="3">如果你不喜欢</font><font face="verdana, arial, geneva, sans-serif" size="3"><tt>eval()</tt>, </font><font size="3">有另一种获取难以索引的对象的途径。<a href="day4_10.html">>></a></font> </td> </tr> </table> <p align="left"><font face="宋体" size="3" color="#000000"><strong>JavaScript高级教程</strong></font><font color="#FF0000" face="宋体" size="3"><br> </font><font size="3"><font color="#FF3300">第一页</font> <a href="day4_1.html"><font face="verdana, arial, geneva, sans-serif">JavaScript</font>高级教程<font face="verdana, arial, geneva, sans-serif">- </font>第<font face="verdana, arial, geneva, sans-serif">4</font>天</a> <br> <font color="#FF3300">第二页 </font><a href="day4_2.html">图象映射与<font face="verdana, arial, geneva, sans-serif">JavaScript</font></a><font face="verdana, arial, geneva, sans-serif"><br> </font><font color="#FF3300">第三页 </font><a href="day4_3.html">预装图象 - 是什么<font face="verdana, arial, geneva, sans-serif">?</font></a><font face="verdana, arial, geneva, sans-serif"><br> </font><font color="#FF3300">第四页 </font><a href="day4_4.html">预装图象 - 怎么做?</a><font face="verdana, arial, geneva, sans-serif"><br> </font><font color="#FF3300">第五页 </font><a href="day4_5.html">对象的优点</a><br> <font color="#FF3300">第六页 </font><a href="day4_6.html">创建你自己的对象</a><br> <font color="#FF3300">第七页 </font><a href="day4_7.html">你的面向对象的虚拟宠物</a><br> <font color="#FF3300">第八页 </font><a href="day4_8.html">计算字符串</a><br> <font color="#FF3300">第九页 </font>获取难以索引的对象<br> <font color="#FF3300">第十页 </font><a href="day4_10.html">另一种获取难以索引的对象的手段</a><br> <font color="#FF3300">第十一页 </font><a href="day4_11.html">第四天课程复习</a></font></p> <p>[<a href="day1_1.html">第1课</a>][<a href="day2_1.html">第2课</a>][<a href="day3_1.html">第3课</a>][第4课][<a href="day5_1.html">第5课</a>]</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 + -