📄 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 script
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";
}
// --> 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 script
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 = "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 + -