javascript 對象基礎定義類或對象(2)

來源:互聯網
上載者:User

修改對象

1、建立新方法

javascript 樂趣的一部分就是建立屬於你自己的方法。你可以用它來做一些常用的操作。提高效率(人肉效率,程式效率.....)。

考慮下面例子:

1 var iNum = 10;
2 iNum = iNum.toString(16);
3 alert(iNum); // output "a"

 這裡使用 Number 對象的 toStrong 方法, 將 iNum 轉換成16進位的字元.如果我們需要頻繁的操作此類數字.比如在顏色資料的操作上.你那麼我們可以這麼建立新的方法

重寫上面的例子:

1 Number.prototype.toHexString = function(){
2   return this.toString(16); // this 總是指向調用該方法的對象
3 }
4 var iNum = 10;
5 alert(iNum.toHexString()); // output "a"

同時你也可以逆向編寫 16進位字元 轉到 10進位數位操作. 建立以下方法

1 String.prototype.HexToDecimal = function(){
2 return parseInt(this,16);
3 }
4
5 var sNum = "1F";
6 alert(sNum.HexToDecimal()); // output 31

這樣你就可以定義屬於自己的方法.

還可以增加一些 本機物件 個別 已有的方法. String 具有 indexOf 方法. 而數組卻沒有.那麼我們可以增加一致的方法

例子:

1 Array.prototype.indexOf = function(sItem){
2 for(var i in this){
3 if(sItem == this[i])return i;
4 }
5 };
6 var aTest = ["a","b","c"];
7 alert(aTest .indexOf("b"));

如果想讓每個本機物件都添加一個相同的的方法.那麼你可以這麼定義

1 Object.prototype.sayValue = function(){
2 alert(this.valueOf());
3 };
4 var sShow = "bay bay";
5 var iNum = 88;
6 sShow.sayValue(); // output "bay bay"
7 iNum .sayValue(); // output "88"

2、重定義已有方法

當然你還可以覆蓋原來的方法,

1 Function.prototype.toString= function(){
2 return "is nothing"
3 };
4 function sayHello(){
5 alert("Hello");
6 }
7 alert(sayHello.toString());
相關文章

聯繫我們

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