📄 2.2.2.htm
字号:
<html>
<head>
<title>Untitled Document</title>
<LINK REL ="stylesheet" TYPE = "text/css" HREF = ".../contents.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<h2 align="center">使用自定义对象</h2>
<p>除了使用各种已经规定好的对象以外,JavaScript 还允许用户创建自己的对象。以下以一个具体实例说明如何创建和使用一个"书"对象
Book,在此过程中我们将学到一些面向对象编程技术的细节。</p>
<p>
1. 构造函数<p>
要定义一个新的对象,必须定义用于构造该对象的函数。此函数称为构造函数,其名称即为对象的类型名称。构造函数要完成以下两项工作:
<ul>
<li> 为对象类型的属性赋值;</li>
<li> 指出作为对象类型方法的函数。</li>
</ul>
<p>
在此示例中,我们定义对象名为 Book,它包含三个属性:title(书名)、author(作者)、publisher(出版社),以及一个方法:show_book(显示书的属性信息)。<p>
构造函数如下:<p>
function Book(title, author, publisher)<p>
{<p>
this.title=title;<p>
this.author=author;<p>
this.publisher=publisher;<p>
this.show_book=show_book;<p>
}<p>
构造函数的参数是用来为对象属性赋值的,它们不一定要与对象属性同名,例如,该构造函数也可以写成:<p>
function Book(x, y, z)<p>
{<p>
this.title=x;<p>
this.author=y;<p>
this.publisher=z;<p>
this.show_book=show_book;<p>
}<p>
不过,习惯上将参数名取为对象的属性名。this 关键字表示当前对象,前三条语句的作用是用对象的参数初始化对象属性。<p>
最后一条语句用于初始化对象的方法,它的含义是:将 show_book 这个函数指定为对象 Book 的 show_book 方法。显然,方法的名称与函数的名称也可以不同。<p>
2. 定义方法<p>
虽然我们已经指定了对象的方法,但对应于该方法的函数尚未定义。实际上,在编写程序时,首先应定义方法所对应的函数,然后才能指定方法。<p>
show_book 函数定义如下,其作用只是简单地显示书的属性信息。<p>
function show_book()<p>
{<p>
document.write("<H1>书名:"+this.title+"</H1>");<p>
document.write("<H1>作者:"+this.author+"</H1>");<p>
document.write("<H1>出版社:"+this.publisher+"</H1>");<p>
}<p>
3. 实例化对象<p>
如果要使用这个新创建的对象,必须将其实例化。也就是说,必须使用构造函数构造一个具体的对象。我们使用 new 操作符构造一个对象的实例,如下所示:<p>
MyBook=new Book("JavaScript 实例教程","赵丰年","电子工业出版社");<p>
为了显示效果,在构造了对象实例之后,我们可以直接引用该对象的方法和属性,如下所示:<p>
MyBook.show_book();<p>
document.write("<H2>谁是"+MyBook.author+"?</H2>")<p>
4. 完整代码<p>
<p> <a href="../src/tu2.1.htm" target="_blank">示例</a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -