⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 day4_7.html

📁 java 的高级教程~~ 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈~晕~打字很累的
💻 HTML
📖 第 1 页 / 共 2 页
字号:
                      <li> <font face="verdana, arial"><tt>feed()</tt> - </font>减少饥饿                       </li>                      <li> <font face="verdana, arial"><tt>medicate()</tt> - </font>增加一点健康                       </li>                      <li> <font face="verdana, arial"><tt>makeOlder()</tt> -                         </font>宠物长大 </li>                      </font>                      <li><font size="3"> <font face="verdana, arial"><tt>display()</tt>                         -</font></font><font face="verdana, arial" size="3"> </font><font size="3">在状态框里显示宠物的信息。                         </font></li>                    </ul>                    <p> <font face="verdana, arial" size="3"></font><font size="3">把这些记在脑子里,我们来创建宠物对象。首先我们来写一<br>                      个构造函数。 这里就是最基本的构造函数(即还没有加任何<br>                      方法的代码):</font>                  </td>                </tr>              </table>            </td>          </tr>        </table>        <blockquote>           <pre><big></big>function Pet(the_pet_name, the_form_number){	this.age = 0;	this.hunger = Math.random() * 5;  // random number between 0 and 4.99	this.health = Math.random() * 5 + 1 ;  // random number between 1 and 3.99	this.happiness = Math.random() * 5;	this.pet_name = the_pet_name;	this.form_number = the_form_number;	window.document.forms[the_form_number].pet_name.value = the_pet_name;}</pre>        </blockquote>        <table width="458">          <tr>             <td width="454"><font size="3">这个构造函数有两个参数:宠物名字和要显示其信息的表单号。<br>              要创建两个宠物,我们这么做:</font>              <blockquote>                <pre>          <font face="verdana, arial" size="3"></font><font size="3">var pet1 = new Pet(&quot;barney&quot;,0);var pet2 = new Pet(&quot;betty&quot;,1);</font></pre>              </blockquote>              <p> <font size="3">我们把构造函数写的能使每个宠物都不一样。用了<br>                <font face="verdana, arial"><tt>Math.random()</tt> </font>方法来产生一个<font face="verdana, arial">0</font>到<font face="verdana, arial">1</font>之间的随机数,<br>                <font face="verdana, arial"><tt>Math.random()</tt></font>方法并不是完全随机的,但在这里够用了,它<br>                能保证给每个产生的宠物一个不同的饥饿,健康和快乐的初<br>                始值。宠物的名字从参数传递过来,年龄则设为<font face="verdana, arial">0</font>。 最后两行<br>                设定了宠物使用的表单号,并把宠物的名字写到相应的文本<br>                框去。记住:一个页面的第一个表单可以被索引为<br>                </font><font size="4" face="verdana, arial"><tt>window.document.forms[0]</tt></font><font face="verdana, arial" size="3">,</font><font size="3">第二个可以索引为<br>                <font face="verdana, arial"><tt>window.document.forms[1]</tt>,                 </font>依次类推。</font></p>              <font size="3">              <p> <font face="verdana, arial"></font>我们已建立好了属性,现在来看看方法。我并不打算把每个方<br>                法都展开讲,而只把其中几个讲一讲:              </font></td>          </tr>        </table>        <pre>function feed()           {                var meal_quality = Math.random() * 2;                this.hunger = this.hunger - meal_quality;              if (this.hunger &lt;0)                        {                              this.hunger = 0;                         }                              this.display();            }</pre>        <table width="451">          <tr>             <td width="447"><font size="3">这是一个喂宠物的方法。如果你调用了 <font face="verdana, arial"><tt>pet1.feed()</tt></font>方法<font face="verdana, arial">,</font>首<br>              先它会产生一个<font face="verdana, arial">0</font>到<font face="verdana, arial">2</font>之间的数,然后把饥饿度减去这个数。<br>              我们确使饥饿度不小于<font face="verdana, arial">0</font>,然后调用显示方法去显示信息。               <p><font face="verdana, arial"></font><font size="3">显示方法的代码如下:</font>              </font></td>          </tr>        </table>        <blockquote>           <pre>function display(){        var the_string = &quot;&quot;;        if (this.health &lt; min_health)        {                the_string = this.pet_name + &quot; IS DEAD!&quot;;        } else {                the_string += &quot;Happiness &quot; + parseInt(this.happiness);                the_string += &quot;.  Health: &quot; + parseInt(this.health);                the_string += &quot;.  Hunger: &quot; + parseInt(this.hunger);                the_string += &quot;.  Age: &quot; + parseInt(this.age);                the_string += &quot;.&quot;;        }        window.document.forms[this.form_number].pet_status.value = the_string;}<big>       </big></pre>        </blockquote>        <table width="463">          <tr>             <td width="459">This这个方法建立了一个字符串并把它显示到正确的文本框里,<br>              表单号属性保证了状态信息放到合适的文本框。每当我们创建<br>              一个宠物,我们就给它一个表单号 - 第一个宠物的表单号是0,<br>              第二个宠物的表单号是1。使用这种表单号我们知道第一个宠物<br>              的状态应放在 window.document.forms[0].pet_status.value,<br>              而第二个宠物的状态应放在window.document.forms<br>              [1].pet_status.value. 这个方法里的最后一行根据<br>              this.form_number决定在哪个form放状态信息.               <p>这个方法里的另一个有趣的地方是 parseInt函数. 由于使用了<br>                随机数,象健康和快乐的值可能是 2.738993720. 它们是实数,<br>                但是显得有点长,所以parseInt函数把小数点后的数给拿掉了,<br>                比如 parseInt(2.738)得到的结果是2。</p>              <p>第三个有趣的方法是makeOlder().它把宠物年龄增加一岁并让<br>                宠物更饿一点和更不高兴一点。这个方法通过setTimeout设成<br>                每秒被调用一次(我们在第三天的课里曾讲过怎么做的):            </td>          </tr>        </table>        <blockquote>           <pre>function makeOlder(){	var max_hunger = 5;	var good_happiness = 5; 	if (this.health &gt; min_health)	{					this.age +=1;		this.happiness -= Math.random() * 2;		this.hunger += Math.random() * 2;		if (this.hunger &gt; max_hunger)		{			this.health -= Math.random() * 2;			this.happiness -= Math.random() * 2;		}	}	this.display();}</pre>        </blockquote>        <table width="463">          <tr>             <td width="459">你能看到,这个方法把宠物的年龄增加一岁,把快乐值降低了<br>              一个随机数,把饥饿度增加了一个随机数。然后又设定了一些<br>              规则(这儿只示意了一个),如“如果宠物真的饿极了,就让<br>              它不快乐一点和不健康一点。              <p>既然我们已经有了这些方法,就把它放进到构造函数里去完成<br>                整个的虚拟宠物对象的创建:            </td>          </tr>        </table>        <blockquote>           <pre>function Pet(the_pet_name, the_form_number){	this.age = 0;	this.hunger = Math.random() * 5;  // random number between 0 and 4.99	this.health = Math.random() * 3 +1 ;  // random number between 1 and 3.99	this.happiness = Math.random() * 5;	this.pet_name = the_pet_name;	this.form_number = the_form_number;	this.feed = feed;	this.play = play;	this.medicate = medicate;	this.display = display;	this.makeOlder = makeOlder;	window.document.forms[the_form_number].pet_name.value = the_pet_name;	this.display();}</pre>        </blockquote>        <table width="457">          <tr>             <td width="453">最后设定让<tt>makeOlder()</tt>方法每三秒种就调用一次。这个函数<br>              在你按动start按钮时被调用。</td>          </tr>        </table>        <blockquote>           <pre><big></big>function moveTime(){	pet1.makeOlder();	pet2.makeOlder();	the_time_out = setTimeout(&quot;moveTime();&quot;, 3000);}	</pre>        </blockquote>        <table width="453">          <tr>             <td width="449">你可以看到这个函数调用了每个宠物<tt>的makeOlder()</tt>方法,并<br>              在三秒种后又调用了它自己。这个定时事件将一直持续下去<br>              直到用户通过<tt>clearTimeout(the_time_out)</tt>把它取消掉.              <p>这个例子几乎用到了我们今天讲到的所有内容。如果你理<br>                解了,你对JavaScript已经了解的很深入了。在我们进入最<br>                后一个话题之前再休息一下,最后要讲的是:利用JavaScript<br>                的快捷方式获取很难索引的对象。<a href="day4_8.html">&gt;&gt;</a>            </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>你的面向对象的虚拟宠物<br>          <font color="#FF3300">第八页 </font><a href="day4_8.html">计算字符串</a><br>          <font color="#FF3300">第九页 </font><a href="day4_9.html">获取难以索引的对象</a><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 + -