国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript prototype屬性使用說明

2024-05-06 14:10:04
字體:
來源:轉載
供稿:網友
這一點可能聽起來會有點亂,別急,下面我便通過實例對這一特殊的方法作已下講解:

  首先,我們要先了解一下類的概念,JavaScript 本身是一種面向對象的語言,它所涉及的元素根據其屬性的不同都依附于某一個特定的類。我們所常見的類包括:數組變量(Array)、邏輯變量(Boolean)、日期變量(Date)、結構變量(Function)、數值變量(Number)、對象變量(Object)、字符串變量(String) 等,而相關的類的方法,也是程序員經常用到的(在這里要區分一下類的注意和屬性發方法),例如數組的push方法、日期的get系列方法、字符串的split方法等等,

  但是在實際的編程過程中不知道有沒有感覺到現有方法的不足?prototype 方法應運而生!下面,將通過實例由淺入深講解 prototype 的具體使用方法:


1、最簡單的例子,了解 prototype:
(1) Number.add(num):作用,數字相加
實現方法:Number.prototype.add = function(num){return(this+num);}
試驗:alert((3).add(15)) -> 顯示 18


(2) Boolean.rev(): 作用,布爾變量取反
實現方法:Boolean.prototype.rev = function(){return(!this);}
試驗:alert((true).rev()) -> 顯示 false

是不是很簡單?這一節僅僅是告訴讀者有這么一種方法,這種方法是這樣運用的。


2、已有方法的實現和增強,初識 prototype:
(1) Array.push(new_element)
  作用:在數組末尾加入一個新的元素
  實現方法:
代碼如下:
  Array.prototype.push = function(new_element){
this[this.length]=new_element;
return this.length;
}

  讓我們進一步來增強他,讓他可以一次增加多個元素!
  實現方法:
代碼如下:
  Array.prototype.pushPro = function() {
var currentLength = this.length;
for (var i = 0; i < arguments.length; i++) {
this[currentLength + i] = arguments[i];
}
return this.length;
}

  應該不難看懂吧?以此類推,你可以考慮一下如何通過增強 Array.pop 來實現刪除任意位置,任意多個元素(具體代碼就不再細說了)

(2) String.length
  作用:這實際上是 String 類的一個屬性,但是由于 JavaScript 將全角、半角均視為是一個字符,在一些實際運用中可能會造成一定的問題,現在我們通過 prototype 來彌補這部不足。
  實現方法:
  String.prototype.cnLength = function(){
var arr=this.match(/[^/x00-/xff]/ig);
return this.length+(arr==null?0:arr.length);
}
  試驗:alert("EaseWe空間Spaces".cnLength()) -> 顯示 16
  這里用到了一些正則表達式的方法和全角字符的編碼原理,由于屬于另兩個比較大的類別,本文不加說明,請參考相關材料。


3、新功能的實現,深入 prototype:在實際編程中所用到的肯定不只是已有方法的增強,更多的實行的功能的要求,下面我就舉兩個用 prototype 解決實際問題的例子:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 酒泉市| 固始县| 浙江省| 凤翔县| 桓仁| 新民市| 通山县| 濉溪县| 沂源县| 丰原市| 石台县| 慈利县| 江达县| 武胜县| 汶川县| 耒阳市| 磐安县| 孝义市| 思茅市| 阳谷县| 油尖旺区| 富顺县| 福鼎市| 南平市| 社旗县| 黄陵县| 临城县| 南丹县| 海丰县| 通化县| 江都市| 昌邑市| 宜宾市| 米易县| 彰化县| 宁波市| 海盐县| 镇平县| 隆子县| 舟曲县| 新蔡县|