搜尋
首頁类库下载其它類別庫JavaScript 學習筆記: 擴充類型的功能

JavaScript 是允許擴充基本類型的功能。例如,可以透過對Object.prototype增加方法,可以讓該方法對所有的物件都可用。 這樣的方式對函數,數組,字串,數字,正規表示式和布林值同樣適用。

例如,可以透過對Function.prototype 增加方法對所有的函數可用:

Function.prototype.method = function(name, func) {  this.prototype[name] = func;  return this;  
}

透過給Function.prototype 增加method方法,之後再增加方法直接呼叫mehod方法即可,而不必再寫prototype。例如,JavaScript沒有整形類型,我們可以透過為Number.prototype增加一個integer方法類別來實現。

Number.method("integer", function(){    return Math[this < 0 ? &#39;ceil&#39; : &#39;&#39;floor&#39;](this);
});
console.log((-10 / 3).integer());   //out put -3

透過增加基本類型方法,可以大大提高語言的表現力。因為JavaScript原型繼承的動態本質,新的方法立刻被賦予到所有的物件實例上,包含在方法被增加之前就創建好的物件。

由於基本類型的原型是公用結構的,因此在使用類別庫的時候一定要小心。一個保險的做法就是只在確定沒有該方法的時候才添加它,例如:

Function.prototype.method = function(name, func) {  if (!this.prototype(name)) {    this.prototype[name] = func;
  }  return this;
};
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境