JavaScript創造對象的方法

來源:互聯網
上載者:User

標籤:代碼   執行個體化   div   執行個體   基本   this   obj   create   on()   

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script type="text/javascript">window.onload=function(){//1**************************************************************************************************************// var box=new Object(); //1:建立函數的基本方法// box.name="feige";// box.run=function(){// alert(this.name+"runnig.....")// }//    //    box.run();//    //缺點就是如果要建立一個類似的對象要產生大量代碼   //2原廠模式**************************************************************************************************************//    //    function createObj(name,age){ //共產模式創造對象//    var obj=new Object();//    obj.name=name;//    obj.age=age;//    obj.run=function(){//    alert(this.name+this.age+"running......");//    }//    //    return obj; //返回對象引用//    //    }//    function createObj2(name,age){ //共產模式創造對象//    var obj=new Object();//    obj.name=name;//    obj.age=age;//    obj.run=function(){//    alert(this.name+this.age+"running......");//    }//    //    return obj; //返回對象引用//    //    }//    var box1=createObj(‘feige‘,22);//建立第一個對象//    var box2=createObj(‘cc‘,22); //建立第二個對象//    box1.run();//    box2.run();// var box3=createObj2(‘kkk‘,2); // //    //PS:原廠模式雖然解決了重複執行個體化的問題,但是無法搞清楚他們到底哪個是對象的執行個體,例如下面的//    alert(box1 instanceof Object);//true //    alert(box3 instanceof Object);//still true // // //3構造方法創造對象**************************************************************************************************************function Box(name,age){ //構造方法創造對象(改良後的Factory 方法)this.name=name;this.age=age;this.run=function(){alert(this.name+this.age);}}function Box2(name,age){ //構造方法創造對象this.name=name;this.age=age;this.run=function(){alert(this.name+this.age);}}var box1=new Box(‘CC‘,13); //執行個體化var box2=new Box2(‘cc‘,21); //執行個體化//alert(box1 instanceof Box);//alert(box2 instanceof Box);//與原廠模式不同可以區分出來執行個體,box2是Box2的對象的引用//1.建構函式沒有new Object但是後台會自動 var obj=new Object();//2.this就相當於 obj//3.建構函式不需要返回對象引用,他是後台自動返回的//規範//1.建構函式也是函數,但是函數名第一個字母大寫//2.必須new 建構函式(),new Box()//3.必須使用new 運算子var o=new Object();//對象冒充,可以把整個建構函式拿下來給oBox.call(o,"冒充",12)o.run();}</script></body></html>

 

JavaScript創造對象的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.