javascript-対象と原型に向かう(2)

6953 ワード

続けます.まず一般的な構造関数を紹介します.
1 function Box(){};                                                     

2         Box.prototype.name='Lee';

3         Box.prototype.age=100;

4         Box.prototype.run=function()

5         {

6                 return this.name + this.age+'   ...';

7         };

8         

9         var box1 = new Box();
★コンストラクタの原型にアクセスする
1 function Box(){};                                                     

2         

3         var box1 = new Box();

4         //alert(box.prototype);                //           prototype

5         //alert(box._proto_);                 //        prototype   

6         alert(Box.prototype);                //       (   )  prototype
★字面量で原型オブジェクトを作成する
 1 /*               ,          constructor        

 2    so,              constructor            

 3 */

 4 function Box(){}

 5 Box.prototype={

 6     constructor:Box;       //

 7     

 8     name:'Lee',

 9     age:100,

10     run:function()

11         {

12                 return this.name + this.age+'   ...';

13         };

14 }

15 

16     //var box =new Box();

17     //alert(box.constructor == Box);            //true

18     

19     //      

20     Box.prototype={

21         age:200;            //                

22                             //

23     }

24     

25     var box =new Box();

26     alert(box.run());            //run               
 
★プロトタイプのオブジェクトはECMAScriptに内蔵されている引用タイプでも使用できます.
 1 //    

 2 var box = [5,1,6,9,3,5,8];

 3 alert(box.sort());

 4 

 5 //  sort   Array        

 6 alert(Array.prototype.sort);

 7 alert(String.prototype.substring);

 8 

 9 //            

10 String.prototype.addstring =function()

11 {

12     return this+'    !';

13 }

14 

15 alert('Lee'.addstring());