亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS擴展方法實例分析

2019-11-20 12:40:01
字體:
來源:轉載
供稿:網友

本文實例講述了JS擴展方法實現技巧。分享給大家供大家參考。具體分析如下:

JS擴展方法與C#的擴展方法非常相似,也是可以鏈式調用的,也是通過對某個類的擴展寫法來實現。這個東西非常好用,如果將預先寫好的方法放到一個js里面引用的話,那么后面寫js將非常有趣。

下面給出一個例子:

<head>  <title>測試JS擴展方法</title>  <script type="text/javascript">   // 合并多個空白為一個空白    String.prototype.ResetBlank = function() { //對字符串擴展   var regEx = //s+/g;    return this.replace(regEx, ' ');    };    window.onload = function()   {   var str = "你  在他想還好嗎?";   alert(str);   str = str.ResetBlank(); //這樣就能夠調用了,跟C#的很像吧!   alert(str);   }  </script></head>

好像只是告訴自己有這樣一個東西而已;

下面給出找到的一個非常不錯的js擴展:

// 清除兩邊的空格 String.prototype.trim = function() {   return this.replace(/(^/s*)|(/s*$)/g, ''); }; // 合并多個空白為一個空白 String.prototype.ResetBlank = function() {   var regEx = //s+/g;   return this.replace(regEx, ' '); };  // 保留數字 String.prototype.GetNum = function() {   var regEx = /[^/d]/g;   return this.replace(regEx, ''); };  // 保留中文 String.prototype.GetCN = function() {   var regEx = /[^/u4e00-/u9fa5/uf900-/ufa2d]/g;   return this.replace(regEx, ''); };  // String轉化為Number String.prototype.ToInt = function() {   return isNaN(parseInt(this)) ? this.toString() : parseInt(this); };  // 得到字節長度 String.prototype.GetLen = function() {   var regEx = /^[/u4e00-/u9fa5/uf900-/ufa2d]+$/;   if (regEx.test(this)) {    return this.length * 2;   } else {    var oMatches = this.match(/[/x00-/xff]/g);    var oLength = this.length * 2 - oMatches.length;    return oLength;   } };  // 獲取文件全名 String.prototype.GetFileName = function() {   var regEx = /^.*//([^///?]*).*$/;   return this.replace(regEx, '$1'); };  // 獲取文件擴展名 String.prototype.GetExtensionName = function() {   var regEx = /^.*//[^//]*(/.[^/./?]*).*$/;   return this.replace(regEx, '$1'); };  //替換所有String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {   if (!RegExp.prototype.isPrototypeOf(reallyDo)) {    return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")), replaceWith);   } else {    return this.replace(reallyDo, replaceWith);   } }; //格式化字符串 add By 劉景寧 2010-12-09  String.Format = function() {   if (arguments.length == 0) {    return '';   }    if (arguments.length == 1) {    return arguments[0];   }    var reg = /{(/d+)?}/g;   var args = arguments;   var result = arguments[0].replace(reg, function($0, $1) {    return args[parseInt($1) + 1];   });   return result; };  // 數字補零 Number.prototype.LenWithZero = function(oCount) {   var strText = this.toString();   while (strText.length < oCount) {    strText = '0' + strText;   }   return strText; };  // Unicode還原 Number.prototype.ChrW = function() {   return String.fromCharCode(this); };  // 數字數組由小到大排序 Array.prototype.Min2Max = function() {   var oValue;   for (var i = 0; i < this.length; i++) {    for (var j = 0; j <= i; j++) {    if (this[i] < this[j]) {     oValue = this[i];     this[i] = this[j];     this[j] = oValue;    }    }   }   return this; };  // 數字數組由大到小排序 Array.prototype.Max2Min = function() {   var oValue;   for (var i = 0; i < this.length; i++) {    for (var j = 0; j <= i; j++) {    if (this[i] > this[j]) {     oValue = this[i];     this[i] = this[j];     this[j] = oValue;    }    }   }   return this; };  // 獲得數字數組中最大項 Array.prototype.GetMax = function() {   var oValue = 0;   for (var i = 0; i < this.length; i++) {    if (this[i] > oValue) {    oValue = this[i];    }   }   return oValue; };  // 獲得數字數組中最小項 Array.prototype.GetMin = function() {   var oValue = 0;   for (var i = 0; i < this.length; i++) {    if (this[i] < oValue) {    oValue = this[i];    }   }   return oValue; };  // 獲取當前時間的中文形式 Date.prototype.GetCNDate = function() {   var oDateText = '';   oDateText += this.getFullYear().LenWithZero(4) + new Number(24180).ChrW();   oDateText += this.getMonth().LenWithZero(2) + new Number(26376).ChrW();   oDateText += this.getDate().LenWithZero(2) + new Number(26085).ChrW();   oDateText += this.getHours().LenWithZero(2) + new Number(26102).ChrW();   oDateText += this.getMinutes().LenWithZero(2) + new Number(20998).ChrW();   oDateText += this.getSeconds().LenWithZero(2) + new Number(31186).ChrW();   oDateText += new Number(32).ChrW() + new Number(32).ChrW() + new Number(26143).ChrW() + new Number(26399).ChrW() + new String('26085199682010819977222352011620845').substr(this.getDay() * 5, 5).ToInt().ChrW();   return oDateText; }; //擴展Date格式化 Date.prototype.Format = function(format) {   var o = {    "M+": this.getMonth() + 1, //月份      "d+": this.getDate(), //日      "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小時   "H+": this.getHours(), //小時      "m+": this.getMinutes(), //分      "s+": this.getSeconds(), //秒      "q+": Math.floor((this.getMonth() + 3) / 3), //季度      "S": this.getMilliseconds() //毫秒     };   var week = {    "0": "/u65e5",    "1": "/u4e00",    "2": "/u4e8c",    "3": "/u4e09",    "4": "/u56db",    "5": "/u4e94",    "6": "/u516d"   };   if (/(y+)/.test(format)) {    format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));   }   if (/(E+)/.test(format)) {    format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[this.getDay() + ""]);   }   for (var k in o) {    if (new RegExp("(" + k + ")").test(format)) {    format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));    }   }   return format; } Date.prototype.Diff = function(interval, objDate) {   //若參數不足或 objDate 不是日期類型亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

国产视频观看一区| 亚洲最大中文字幕| 91视频8mav| 欧美极品美女电影一区| 国产精品91久久| 97avcom| 欧美中文字幕精品| 麻豆国产va免费精品高清在线| 欧美另类极品videosbestfree| 草民午夜欧美限制a级福利片| 国产亚洲人成网站在线观看| 91性高湖久久久久久久久_久久99| 俺去啦;欧美日韩| 欧美一区亚洲一区| 亚洲自拍偷拍第一页| 国产一区二区三区在线| 国产综合久久久久| 黄色成人av网| 最近2019年手机中文字幕| 一区二区在线免费视频| 高清一区二区三区日本久| 欧美裸体xxxx极品少妇| 亚洲精品小视频| 久久夜精品va视频免费观看| 久久午夜a级毛片| 国产精国产精品| 亚洲综合在线小说| 日韩av不卡电影| 日韩在线观看免费高清完整版| 国产一区二区三区在线免费观看| 亚洲美女黄色片| 夜夜躁日日躁狠狠久久88av| 日韩精品免费综合视频在线播放| 91精品在线观| 深夜成人在线观看| 国产aⅴ夜夜欢一区二区三区| 亚洲成人久久网| 精品国产美女在线| 九九热99久久久国产盗摄| 国产精品一区二区三区成人| 欧美大片在线看免费观看| 91成人精品网站| 国产91免费看片| 久久国产精品久久久久久久久久| 欧美午夜www高清视频| 欧美午夜视频在线观看| 亚洲精品日韩欧美| 国产欧美一区二区三区在线看| 亚洲精品二三区| 国产精品亚洲网站| 欧美一区二区三区四区在线| 欧美在线精品免播放器视频| 亚洲精品久久久久久下一站| 亚洲欧美在线磁力| 欧美体内谢she精2性欧美| 中文字幕精品一区久久久久| 精品久久久精品| 欧美猛交ⅹxxx乱大交视频| 欧美极品美女视频网站在线观看免费| 97精品国产91久久久久久| 国产精品精品一区二区三区午夜版| 日韩av日韩在线观看| 欧美成人免费在线观看| 色一情一乱一区二区| 久久亚洲国产精品成人av秋霞| 深夜精品寂寞黄网站在线观看| 91精品免费视频| 国产91精品久| 日韩一区二区三区国产| 国产女人精品视频| 欧美高清性猛交| 国产精品日韩电影| 国产亚洲精品久久久久久| 在线亚洲男人天堂| 亚洲一区二区三区成人在线视频精品| 992tv成人免费影院| 亚洲精品av在线| 国产在线精品自拍| 国产精品老女人精品视频| 日本91av在线播放| 久久九九亚洲综合| 国产精品高清免费在线观看| 欧美国产亚洲精品久久久8v| 欧美成人全部免费| 日韩欧美一区二区三区久久| 51久久精品夜色国产麻豆| 成人欧美一区二区三区黑人孕妇| 成人黄色免费片| 88国产精品欧美一区二区三区| 欧美大片免费看| 青青精品视频播放| 亚洲一区二区三区xxx视频| 精品久久久久久亚洲精品| 亚洲自拍偷拍色片视频| 亚洲国产91色在线| 日本一区二区在线播放| 亚洲第一视频网| xxx一区二区| 中文字幕无线精品亚洲乱码一区| 国产精品丝袜一区二区三区| xvideos成人免费中文版| 一区二区日韩精品| 欧美日韩亚洲高清| 国产精品福利无圣光在线一区| 777午夜精品福利在线观看| 欧美中文字幕视频在线观看| 亚洲成人动漫在线播放| 中文字幕精品久久久久| 欧美大片在线看| 欧美精品激情视频| 国产日韩欧美在线播放| 日韩激情片免费| 91天堂在线观看| 国产一区二区动漫| 亚洲free嫩bbb| 国产玖玖精品视频| 69久久夜色精品国产69| 九九热这里只有精品免费看| 亚洲人成绝费网站色www| 欧美性猛交xxxx富婆弯腰| 精品成人在线视频| 日韩av在线看| 日本一区二区在线播放| 国内精品久久久久久久久| 日韩免费在线播放| 亚洲视频免费一区| 国自产精品手机在线观看视频| 日韩成人av网址| 成人欧美一区二区三区在线| 日韩亚洲欧美成人| 国模精品一区二区三区色天香| 视频在线观看一区二区| 91精品国产成人| 国产成人avxxxxx在线看| xxxxxxxxx欧美| 欧美人在线视频| 欧美又大又粗又长| 欧美另类xxx| 一区二区三区动漫| 久久久久久久久久久免费| 青草热久免费精品视频| 欧美精品制服第一页| 国产福利精品av综合导导航| 中文字幕在线视频日韩| 亚洲影院色无极综合| 国产精品无av码在线观看| 国产mv免费观看入口亚洲| 精品中文字幕在线观看| 亚洲精品国精品久久99热一| 26uuu国产精品视频| 色综合色综合久久综合频道88| 亚洲精品欧美一区二区三区| 97高清免费视频| 欧美精品手机在线| 高跟丝袜欧美一区| 欧美日韩国产精品| 日韩av成人在线观看| 欧美极品少妇xxxxx| 精品福利在线视频| 亚洲永久免费观看| 亚洲欧美一区二区激情| 91精品啪在线观看麻豆免费| 久久国产精彩视频| 91社影院在线观看|