內容主要是講述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>