亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        JS擴(kuò)展方法實(shí)例分析

        字號(hào):


            JS擴(kuò)展方法與C#的擴(kuò)展方法非常相似,也是可以鏈?zhǔn)秸{(diào)用的,也是通過對(duì)某個(gè)類的擴(kuò)展寫法來(lái)實(shí)現(xiàn)。這個(gè)東西非常好用,如果將預(yù)先寫好的方法放到一個(gè)js里面引用的話,那么后面寫js將非常有趣。
            下面給出一個(gè)例子:
            <head>
            <title>測(cè)試JS擴(kuò)展方法</title>
            <script type="text/javascript">
            // 合并多個(gè)空白為一個(gè)空白
            String.prototype.ResetBlank = function() { //對(duì)字符串?dāng)U展
            var regEx = /\s+/g;
            return this.replace(regEx, ' ');
            };
            window.onload = function()
            {
            var str = "你 在他想還好嗎?";
            alert(str);
            str = str.ResetBlank(); //這樣就能夠調(diào)用了,跟C#的很像吧!
            alert(str);
            }
            </script>
            </head>
            好像只是告訴自己有這樣一個(gè)東西而已;
            下面給出找到的一個(gè)非常不錯(cuò)的js擴(kuò)展:
            // 清除兩邊的空格
            String.prototype.trim = function() {
            return this.replace(/(^\s*)|(\s*$)/g, '');
            };
            // 合并多個(gè)空白為一個(gè)空白
            String.prototype.ResetBlank = function() {
            var regEx = /\s+/g;
            return this.replace(regEx, ' ');
            };
            // 保留數(shù)字
            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轉(zhuǎn)化為Number
            String.prototype.ToInt = function() {
            return isNaN(parseInt(this)) ? this.toString() : parseInt(this);
            };
            // 得到字節(jié)長(zhǎng)度
            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');
            };
            // 獲取文件擴(kuò)展名
            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;
            };
            // 數(shù)字補(bǔ)零
            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);
            };
            // 數(shù)字?jǐn)?shù)組由小到大排序
            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;
            };
            // 數(shù)字?jǐn)?shù)組由大到小排序
            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;
            };
            // 獲得數(shù)字?jǐn)?shù)組中最大項(xiàng)
            Array.prototype.GetMax = function() {
            var oValue = 0;
            for (var i = 0; i < this.length; i++) {
            if (this[i] > oValue) {
            oValue = this[i];
            }
            }
            return oValue;
            };
            // 獲得數(shù)字?jǐn)?shù)組中最小項(xiàng)
            Array.prototype.GetMin = function() {
            var oValue = 0;
            for (var i = 0; i < this.length; i++) {
            if (this[i] < oValue) {
            oValue = this[i];
            }
            }
            return oValue;
            };
            // 獲取當(dāng)前時(shí)間的中文形式
            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;
            };
            //擴(kuò)展Date格式化
            Date.prototype.Format = function(format) {
            var o = {
            "M+": this.getMonth() + 1, //月份
            "d+": this.getDate(), //日
            "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小時(shí)
            "H+": this.getHours(), //小時(shí)
            "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) {
            //若參數(shù)不足或 objDate 不是日期類型則回傳 undefined
            if (arguments.length < 2 || objDate.constructor != Date) { return undefined; }
            switch (interval) {
            //計(jì)算秒差
            case 's': return parseInt((objDate - this) / 1000);
            //計(jì)算分差
            case 'n': return parseInt((objDate - this) / 60000);
            //計(jì)算時(shí)差
            case 'h': return parseInt((objDate - this) / 3600000);
            //計(jì)算日差
            case 'd': return parseInt((objDate - this) / 86400000);
            //計(jì)算周差
            case 'w': return parseInt((objDate - this) / (86400000 * 7));
            //計(jì)算月差
            case 'm': return (objDate.getMonth() + 1) + ((objDate.getFullYear() - this.getFullYear()) * 12) - (this.getMonth() + 1);
            //計(jì)算年差
            case 'y': return objDate.getFullYear() - this.getFullYear();
            //輸入有誤
            default: return undefined;
            }
            };
            //檢測(cè)是否為空
            Object.prototype.IsNullOrEmpty = function() {
            var obj = this;
            var flag = false;
            if (obj == null || obj == undefined || typeof (obj) == 'undefined' || obj == '') {
            flag = true;
            } else if (typeof (obj) == 'string') {
            obj = obj.trim();
            if (obj == '') {//為空
            flag = true;
            } else {//不為空
            obj = obj.toUpperCase();
            if (obj == 'NULL' || obj == 'UNDEFINED' || obj == '{}') {
            flag = true;
            }
            }
            }
            else {
            flag = false;
            }
            return flag;