理順 JavaScript (16) – 使用 prototype

來源:互聯網
上載者:User
給對象增減方法
function Rect(w, h) {  this.width = w;  this.height = h;}var r = new Rect(2, 3);/* 給 r 對象增加一個計算面積的方法 area() */r.area = function() {return this.width * this.height};alert(r.width);  //2alert(r.height); //3alert(r.area()); //6delete r.area; //刪除剛剛增加的方法alert(r.area); //undefined

給類增減方法

function Rect(w, h) {  this.width = w;  this.height = h;}var r = new Rect(2, 3);/* 給 r 對象所屬的類增加一個計算面積的方法 area() */Rect.prototype.area = function() {return this.width * this.height};alert(r.width);  //2alert(r.height); //3alert(r.area()); //6/* 給類(而不是對象)增加的方法會影響到旗下所有對象 */var r2 = new Rect(4, 5);alert(r2.width);  //4alert(r2.height); //5alert(r2.area()); //20delete Rect.prototype.area; //刪除剛剛給類增加的方法alert(r.area);              //undefined

給其他類增加方法

/* 給 Array 增加一個倒排序的方法 */Array.prototype.usort = function() {this.sort(); this.reverse()}; //該函數寫得太湊合了var arr = new Array(1,3,2,4,3,5);arr.sort();alert(arr); //1,2,3,3,4,5arr.usort();alert(arr); //5,4,3,3,2,1/* 假如給 Object 增加一個方法 */Object.prototype.msg = function() {alert('我無處不在!');}var obj = {};obj.msg(); //我無處不在!var arr = [];arr.msg(); //我無處不在!var str = '';str.msg(); //我無處不在!

相關文章

聯繫我們

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