常用原生js自定義函數(shù)總結(jié)
js獲取日期函數(shù)
//獲取當(dāng)前時間日期 function CurentTime() { var now = new Date(); var year = now.getFullYear(); //年 var month = now.getMonth() + 1; //月 var day = now.getDate(); //日 var hh = now.getHours(); //時 var mm = now.getMinutes(); //分 var clock = year + "-"; if(month < 10) clock += "0"; clock += month + "-"; if(day < 10) clock += "0"; clock += day + " "; if(hh < 10) clock += "0"; clock += hh + ":"; if (mm < 10) clock += '0'; clock += mm; return(clock); }
js獲取時間差函數(shù)
//獲取時間差多少天 function getLastTime() { var startTime=new Date("1996-5-11 00:00"); //開始時間 var endTime=new Date(); //結(jié)束時間 var lastTime=endTime.getTime()-startTime.getTime() //時間差的毫秒數(shù) //計算出相差天數(shù) var days=Math.floor(lastTime/(24*3600*1000)) //計算出小時數(shù) var leave1=lastTime%(24*3600*1000) //計算天數(shù)后剩余的毫秒數(shù) var hours=Math.floor(leave1/(3600*1000)) //計算相差分鐘數(shù) var leave2=leave1%(3600*1000) //計算小時數(shù)后剩余的毫秒數(shù) var minutes=Math.floor(leave2/(60*1000)) //計算相差秒數(shù) var leave3=leave2%(60*1000) //計算分鐘數(shù)后剩余的毫秒數(shù) var seconds=Math.round(leave3/1000) return " 相差 "+days+"天 "+hours+"小時 "+minutes+" 分鐘"+seconds+" 秒"; }
js只自動刷新頁面一次
//自動刷新頁面一次后停止刷新 window.onload = function(){ if(location.search.indexOf("?")==-1){ location.href += "?myurl"; } else{ if(location.search.indexOf("myurl")==-1) location.href += "&myurl"; } }
ajax實例
$.ajax({ type: "POST", url: "join.php", data: dataString, success: function(){ $('.success').fadeIn(200).show(); $('.error').fadeOut(200).hide(); } });
實時獲取窗口大小
$(window).resize(function(){ var Height = $(window).height(); var Width = $(window).width(); })
js循環(huán)執(zhí)行函數(shù)和定時執(zhí)行函數(shù)
//循環(huán)執(zhí)行,每隔3秒鐘執(zhí)行一次showalert() window.setInterval(showalert, 3000); function showalert() { alert("循環(huán)執(zhí)行"); } //定時執(zhí)行,5秒后執(zhí)行show() window.setTimeout(show,5000); function show() { alert("定時執(zhí)行"); }
js獲取get參數(shù)函數(shù)
function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; } alert(GetQueryString("參數(shù)名1"));
js頁面打印數(shù)組函數(shù)
/** * 打印數(shù)組 * @param {[type]} arr 要打印的數(shù)組 * @param {[type]} space 控制打印的縮進 * @param {[type]} space2 控制打印的縮進2 */ function print_arr(arr, space, space2) { space = space || ' '; space2 = space2 || ' '; var str = "Array<br>"+space+"(<br>"; for(var i=0; i<arr.length; i++) { if( Object.prototype.toString.call(arr[i]) == '[object Array]' ) { //判斷是否是數(shù)組,如果是,進行遞歸拼接 str += space2 + '[' +i+"] => "+ print_arr(arr[i], space+' ', space2+' '); } else { str += space2 +'['+i+"] => "+ arr[i] +"<br>"; } } str += space+")<br>"; document.write(str); }
js打印json數(shù)據(jù)成數(shù)組形式輸出在html
/** 輸出空格函數(shù) */ function blank(num) { var res = ''; for (var i = 0; i < num; i++) { res += ' '; } return res; } /** 計算JSON對象數(shù)據(jù)個數(shù) */ function jsonLen(jsonObj) { var length = 0; for (var item in jsonObj) { length++; } return length; } /** 解析JSON對象函數(shù) */ function printObj(obj) { // JSON對象層級深度 deep = (typeof(deep)=='undefined') ? 0: deep; var html = "Array\n"; // 返回的HTML html += kong(deep) + "(\n"; var i = 0; // JSON對象,不能使用.length獲取數(shù)據(jù)的個數(shù),故需自定義一個計算函數(shù) var len = typeof(obj) == 'array' ? obj.length : jsonLen(obj); for(var key in obj){ // 判斷數(shù)據(jù)類型,如果是數(shù)組或?qū)ο?,則進行遞歸 // 判斷object類型時,&&jsonLen(obj[key])是由于 // 1、值(類似:email:)為null的時候,typeof(obj[key])會把這個key當(dāng)做object類型 // 2、值為null的來源是,數(shù)據(jù)庫表中某些字段沒有數(shù)據(jù),查詢之后直接轉(zhuǎn)為JSON返回過來 if(typeof(obj[key])=='array'|| (typeof(obj[key])=='object' && jsonLen(obj[key]) > 0) ){ deep += 3; html += kong(deep) + '[' + key + '] => '; // 遞歸調(diào)用本函數(shù) html += printObj(obj[key],deep); deep -= 3; }else{ html += kong(deep + 3) + '[' + key + '] => ' + obj[key] + '\n'; } if (i == len -1) { html += kong(deep) + ")\n"; }; i++; } return html; } /** 向HTML頁面追加打印JSON數(shù)據(jù) */ function p_Obj(obj) { var div = document.getElementById('print-json-html'); if (div != null) { document.body.removeChild(div); }; var node = document.createElement("div");//創(chuàng)建一個div標(biāo)簽 node.id = 'print-json-html'; node.innerHTML = '<pre>' + printObj(obj) + '</pre>'; document.body.appendChild(node); }
js打印多維數(shù)組的數(shù)組長度函數(shù)
//獲取多維數(shù)組的數(shù)量 function getArrNum(arr) { var eleNum = 0; if (arr == null) { return 0; } for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr[i].length; j++) { eleNum++; } } document.write(eleNum); }
以上這篇常用原生js自定義函數(shù)總結(jié)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- javascript自定義日期比較函數(shù)用法示例
- JS中創(chuàng)建自定義類型的常用模式總結(jié)【工廠模式,構(gòu)造函數(shù)模式,原型模式,動態(tài)原型模式等】
- AngularJs1.x自定義指令獨立作用域的函數(shù)傳入?yún)?shù)方法
- JS自定義函數(shù)實現(xiàn)時間戳轉(zhuǎn)換成date的方法示例
- JavaWeb開發(fā)之JSTL標(biāo)簽庫的使用、 自定義EL函數(shù)、自定義標(biāo)簽(帶屬性的、帶標(biāo)簽體的)
- js document.getElementsByClassName的使用介紹與自定義函數(shù)
- 自定義require函數(shù)讓瀏覽器按需加載Js文件
- JS自定義函數(shù)對web前端上傳的文件進行類型大小判斷
- PHP自定義函數(shù)格式化json數(shù)據(jù)示例
- 詳解JavaScript自定義函數(shù)
相關(guān)文章
JS實現(xiàn)兼容性好,帶緩沖的動感網(wǎng)頁右鍵菜單效果
這篇文章主要介紹了JS實現(xiàn)兼容性好,帶緩沖的動感網(wǎng)頁右鍵菜單效果,可實現(xiàn)帶有彈性效果并且能夠自定義鼠標(biāo)事件的右鍵菜單功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-096種javascript顯示當(dāng)前系統(tǒng)時間代碼
這篇文章主要介紹了6種javascript顯示當(dāng)前系統(tǒng)時間代碼,歡迎大家學(xué)習(xí)借鑒2015-12-12showModalDialog模態(tài)對話框的使用詳解以及瀏覽器兼容
showModalDialog是jswindow對象的一個方法,和window.open一樣都是打開一個新的頁面。區(qū)別是:showModalDialog打開子窗口后,父窗口就不能獲取焦點了(也就是無法操作了)2014-01-01