javascript中在定义函数的几种形式
内容主要是讲述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>