摘要:它會指出一個類是繼承自另一個類的。測試測試代碼來源頁面倒計時的一段運用倒計時的一段腳本。截止日期符合日期格式,比如等有效日期。截止的天數小時分鐘秒數組成的對象。
清楚節點內的空格
function cleanWhitespace(element) { //如果不提供參數,則處理整個HTML文檔 element = element || document; //使用第一個節點作為開始指針 var cur = element.firstChild; //一直循環,直到沒有子節點為止。 while (cur != null) { //如果節點是文本節點,并且只包含空格 if ((cur.nodeType == 3) && !/S/.test(cur.nodeValue)) { element.removeChild(cur); } //一個節點元素 else if (cur.nodeType == 1) { //遞歸整個文檔 cleanWhitespace(cur); } cur = cur.nextSibling; //遍歷子節點 } }
代碼來源:https://gist.github.com/hehongwei44/9105deee7b9bde88463b
JavaScript中的類繼承實現方式/** * 把一個實例方法添加到一個類中 * 這個將會添加一個公共方法到 Function.prototype中, * 這樣通過類擴展所有的函數都可以用它了。它要一個名稱和一個函數作為參數。 * 它返回 this。當我寫一個沒有返回值的方法時,我通常都會讓它返回this。 * 這樣可以形成鏈式語句。 * * */ Function.prototype.method = function (name, func) { this.prototype[name] = func; return this; }; /** * 它會指出一個類是繼承自另一個類的。 * 它必須在兩個類都定義完了之后才能定義,但要在方法繼承之前調用。 * * */ Function.method("inherits", function (parent) { var d = 0, p = (this.prototype = new parent()); this.method("uber", function uber(name) { var f, r, t = d, v = parent.prototype; if (t) { while (t) { v = v.constructor.prototype; t -= 1; } f = v[name]; } else { f = p[name]; if (f == this[name]) { f = v[name]; } } d += 1; r = f.apply(this, Array.prototype.slice.apply(arguments, [1])); d -= 1; return r; }); return this; }); /** * * The swiss方法對每個參數進行循環。每個名稱, * 它都將parent的原型中的成員復制下來到新的類的prototype中 * * */ Function.method("swiss", function (parent) { for (var i = 1; i < arguments.length; i += 1) { var name = arguments[i]; this.prototype[name] = parent.prototype[name]; } return this; });
代碼來源:https://gist.github.com/hehongwei44/2f89e61a0e6d4fd722c4
將單個字符串的首字母大寫/** * * 將單個字符串的首字母大寫 * */ var fistLetterUpper = function(str) { return str.charAt(0).toUpperCase()+str.slice(1); }; console.log(fistLetterUpper("hello")); //Hello console.log(fistLetterUpper("good")); //Good
代碼來源:https://gist.github.com/hehongwei44/7e879f795226316c260d
變量的類型檢查方式/** * * js的類型檢測方式->typeof、constuctor。 * 推薦通過構造函數來檢測變量的類型。 */ var obj = {key:"value"}, arr = ["hello","javascript"], fn = function(){}, str = "hello js", num = 55, bool = true, User = function(){}, user = new User(); /*typeof測試*/ console.log(typeof obj); //obj console.log(typeof arr); //obj console.log(typeof fn); //function console.log(typeof str); //string console.log(typeof num); //number console.log(typeof bool); //boolean console.log(typeof user); //object /*constructor測試*/ console.log(obj.constructor == Object); //true console.log(arr.constructor == Array); //true console.log(str.constructor == String); //true console.log(num.constructor == Number); //true console.log(bool.constructor == Boolean);//true console.log(user.constructor == User); //true
代碼來源:https://gist.github.com/hehongwei44/1d808ca9b7c67745f689
頁面倒計時的一段運用/** * * @descition: 倒計時的一段腳本。 * @param:deadline ->截止日期 符合日期格式,比如2012-2-1 2012/2/1等有效日期。 * @return -> 截止的天數、小時、分鐘、秒數組成的object對象。 */ function getCountDown(deadline) { var activeDateObj = {}, currentDate = new Date().getTime(), //獲取當前的時間 finalDate = new Date(deadline).getTime(), //獲取截止日期 intervaltime = finalDate - currentDate; //有效期時間戳 /*截止日期到期的話,則不執行下面的邏輯*/ if(intervaltime < 0) { return; } var totalSecond = ~~(intervaltime / 1000), //得到秒數 toDay = ~~(totalSecond / 86400 ), //得到天數 toHour = ~~((totalSecond - toDay * 86400) / 3600), //得到小時 tominute = ~~((totalSecond - toDay * 86400 - toHour * 3600) / 60), //得到分數 toSeconde = ~~(totalSecond - toDay * 86400 - toHour * 3600 -tominute * 60); /*裝配obj*/ activeDateObj.day = toDay; activeDateObj.hour = toHour; activeDateObj.minute = tominute; activeDateObj.second = toSeconde; return activeDateObj; }
代碼來源:https://gist.github.com/hehongwei44/a1205e9ff17cfc2359ca
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87691.html
摘要:把中的偽數組轉換為真數組在中,函數中的隱藏變量和用獲得的元素集合都不是真正的數組,不能使用等方法,在有這種需要的時候只能先轉換為真正的數組。檢測元素是否支持某個屬性代碼用法創建和使用命名空間使用方式 把JavaScript中的偽數組轉換為真數組 在 JavaScript 中, 函數中的隱藏變量 arguments 和用 getElementsByTagName 獲得的元素集合(Nod...
摘要:代碼來源一些常用的操作方法介紹查找相關元素的前一個兄弟元素的方法。查找元素指定層級的父元素。 DOM操作的增強版功能函數 /** * 將一個DOM節點、HTML字符串混合型參數 * 轉化為原生的DOM節點數組 * * */ function checkElem(a) { var r = []; if (a.constructor != Array) { ...
摘要:將加法和加上校驗位能被整除。下面分別分析出生日期和校驗位檢查生日日期是否正確輸入的身份證號里出生日期不對將位身份證轉成位校驗位按照的規定生成,可以認為是數字。校驗位按照的規定生成,可以認為是數字。表示全部為中文為不全是中文,或沒有中文。 判斷是否是合理的銀行卡卡號 //Description: 銀行卡號Luhm校驗 //Luhm校驗規則:16位銀行卡號(19位通用): // 1.將...
摘要:初始化參數可選參數,必填參數可選,只有在請求時需要參數可選回調函數可選參數可選,默認為參數可選,默認為創建引擎對象打開發送普通文本接收文檔將字符串轉換為對象最后,說明一下此函數的用法。即等待與成功回調,后標志位置為。 jquery限制文本框只能輸入數字 jquery限制文本框只能輸入數字,兼容IE、chrome、FF(表現效果不一樣),示例代碼如下: $(input).keyup(...
通過數組,拓展字符串拼接容易導致性能的問題 function StringBuffer() { this.__strings__ = new Array(); } StringBuffer.prototype.append = function (str) { this.__strings__.push(str); return this; } StringBuffer....
閱讀 2650·2023-04-26 00:42
閱讀 2799·2021-09-24 10:34
閱讀 3810·2021-09-24 09:48
閱讀 4145·2021-09-03 10:28
閱讀 2577·2019-08-30 15:56
閱讀 2771·2019-08-30 15:55
閱讀 3254·2019-08-29 12:46
閱讀 2244·2019-08-28 17:52