内容主要是讲述javascript在类(原型对象)中定义方法的几种形式,简要之主要有三种:this关键字、prototype关键字、var 对象名={name:value,name2:value2};这三种形式。
在publicFunction.js文件中定义js函数。在call.html文件中调用函数。
各个文件的位置如下图所示:
publicFunction.js文件中的代码如下:
1 /**
2 * javascript中如何在类(在javascript中类也叫原型对象。)中定义公共的方法呢?
3 * 有三种方式:
4 * 第一种用:this关键字。
5 * 第二种用:prototype
6 * 第三种用js专有的定义属性和方法的形式:var 对象名={name:value,name2,value2,name3:value3,....};
7 * 顺便说一下,定义私有方法和私有变量:直接在类中写var=....即可,详细情况看下面代码即可。
8 */
9 //首先是第一种方法:this关键字。
10 //定义Dog这个类
11 function Dog() {
12 var sixi="village"//定义一个私有变量
13 //定义一个私有的函数:
14 function show() {
15 alert("ouyangfeng");
16 }
17 this.mountain="fragantMountain";//定义一个公共变量
18 //定义一个公共方法name()这是用this关键字定义的。
19 this.name=function(petname) {
20 document.writeln(petname);
21 show();//在公共函数内调用私有方法。
22 }
23 }
24 //用prototype定义一个公共的方法
25 Dog.prototype.master=function(masterName) {
26 window.alert("the dog's master is :"+masterName);
27 }
28 //用js特有的定义公共方法和属性的方式:
29 var dog={name:"小花",//定义变量name="小花"。相当于this定义中的this.name="小花"。
30 //定义一个chief()这个公共函数。
31 chief:function() {
32 document.writeln("ouyangfeng is a chief village of sixi");
33 },
34 //定义一个rapeFlower这个公共函数:
35 rapeFlower:function() {
36 document.writeln("the rape flower is so beautiful ,I have never seen");
37 }
38 };
call.html文件中的代码如下:
1 <html>
2
3 <head>
4 <!-- 把 publicFunction.js这个文件导入进来,相当于java中的import
5 特别说明一下src的路径我直接写为publicFunction.js,是因为这个call.html文件与它在同一目录下。
6 如果不是在同一目录下,可以用相对路径写。
7 在相对路径中:
8 / 代表本级目录
9 ../代表上一级目录
10 ../../代表上上一级目录。那么上上上级目录可以以此类推。
11 -->
12 <script type="text/javascript" src="publicFunction.js"></script>
13 <script type="text/javascript">
14 <!--
15 //下面是调用publicFunction.js这个文件中的方法和变量。
16 //创建一个Dog类的实例。
17 var d=new Dog();
18 var m=d.mountain;//调用Dog类中的Mountain公共变量:
19 document.writeln(m);//输出这个变量。
20 d.master("ouyangfeng");//调用master这个方法。
21 d.name("leopard");//调用name()这个方法。
22 /**
23 调用publicFunction.js文件中的这个公共方法:var dog={};
24 */
25 var na=dog.name;//调用name这个变量。
26 document.writeln(na);//输出这个变量。
27 dog.rapeFlower();//调用rapeFlower这个方法
28 dog.chief();//调用chief这个方法。
29 //-->
30 </script>
31 </head>
32 </html>