js類(繼承)(一)

來源:互聯網
上載者:User

標籤:blog   class   code   java   ext   c   

//call() //調用一個對象的一個方法,以另一個對象替換當前對象。 //call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) //參數 //thisObj //可選項。將被用作當前對象的對象。 //arg1, arg2, , argN //可選項。將被傳遞方法參數序列。 //說明 //call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的物件內容從初始的上下文改變為由 thisObj 指定的新對象。 //如果沒有提供 thisObj 參數,那麼 Global 對象被用作 thisObj。     function Person(name){    //父類     this.name=name;     this.SayHello=function(){alert("Hello, I‘m "+this.name);}; } function Employee(name,salary){   //子類     Person.call(this,name);       //將this傳給父建構函式     this.salary=salary;     this.ShowMeTheMoney=function(){alert(this.name+" $"+this.salary);}; }   var BillGates=new Person("Bill Gates"); var SteveJobs=new Employee("Steve Jobs",1234);   BillGates.SayHello();  //顯示:I‘m Bill Gates SteveJobs.SayHello();  //顯示:I‘m Steve Jobs SteveJobs.ShowMeTheMoney();  //顯示:Steve Jobs $1234   alert(BillGates.constructor == Person);   //true alert(SteveJobs.constructor == Employee); //true

直接定義prototype似乎更有extends 的意韻

function Person(name){    //父類     this.name=name;     this.SayHello=function(){alert("Hello, I‘m "+this.name);}; } function Employee(salary){   //子類     this.salary=salary;     this.ShowMeTheMoney=function(){alert(this.name+" $"+this.salary);}; } Employee.prototype=new Person("Steve Jobs"); var SteveJobs=new Employee(1234);   SteveJobs.SayHello();  //顯示:I‘m Steve Jobs SteveJobs.ShowMeTheMoney();  //顯示:Steve Jobs $1234

 

 

文章出自:http://www.cnblogs.com/frostbelt/archive/2012/04/01/2428014.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.