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

首頁 > 編程 > 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 不是日期類型

主站蜘蛛池模板:
偃师市|
奎屯市|
永和县|
凤庆县|
丹江口市|
连江县|
文登市|
金秀|
武宣县|
西丰县|
那曲县|
灵丘县|
平陆县|
罗江县|
祁阳县|
长葛市|
广德县|
古浪县|
仁化县|
西吉县|
嘉祥县|
于都县|
永春县|
固阳县|
富源县|
蓬溪县|
乌鲁木齐市|
镇赉县|
浦城县|
邵阳市|
靖州|
白城市|
嘉义市|
琼海市|
临城县|
西贡区|
扎囊县|
壤塘县|
临潭县|
曲靖市|
石棉县|