JavaScript工作脚本笔记整理
短信预约 -IT技能 免费直播动态提醒
整理一篇工作中的JavaScript工作脚本笔记,学而三省吾身。
(1) 获取Url绝对路径
function getUrlRelativePath() { var url = document.location.toString(); var arrUrl = url.split("//"); var start = arrUrl[1].indexOf("/"); var relUrl = arrUrl[1].substring(start);//stop省略,截取从start开始到结尾的所有字符 if(relUrl.indexOf("?") != -1){ relUrl = relUrl.split("?")[0]; } return relUrl; }
(2) 获取Url请求参数
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest;}var Request = new Object();Request = GetRequest();
(3) 获取特定请求参数
function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null;}// 这样调用:alert(GetQueryString("参数名1"));
(4) stringify函数
将现有的对象转换为JSON字符串, 则可以使用 JSON.stringify(obj)函数
(5) setTimeOut函数
javascript延时3秒执行method函数
setTimeout(function(){ method()},3000);
(6) js 获取当前年月日时分秒星期
$("#aa").click(function () {var date = new Date();this.year = date.getFullYear();this.month = date.getMonth() + 1;this.date = date.getDate();this.day = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")[date.getDay()];this.hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();this.minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();this.second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();var currentTime = "现在是:" + this.year + "年" + this.month + "月" + this.date + "日 " + this.hour + ":" + this.minute + ":" + this.second + " " + this.day;alert(currentTime);});
(7) Ajax请求显示加载中提示
$.ajax({ type: "post", url: loadurl, async: true, i:Math.random(), success:function(data){ $("#tra_"+id).html(data); } beforeSend:function(){ $("#tra_"+id).html('加载中...'); }});
(8) 大量if…else…的替换方法
遇到需要写很多if…else…的情况,或许可以考虑如下的哈希字典匹配的方法,或者用状态模式实现
例子:
//if...else...方法 var itemTypeReg = { '0':'', '1':'行政许可', '2':'非行政许可', '3':'公共服务事项', '4':'备案', '5':'其他', '6':'行政征收', '7':'行政确认', '8':'行政年检', '9':'其他行政权力', '10':'行政处罚', '11':'行政强制', '12':'行政给付', '13':'行政检查', '14':'行政奖励', '15':'行政裁决' } var itemType = rowdata.itemType; //itemType为1~15的数,哈希匹配的方法,例子仅供参考 itemType = itemTypeReg[itemType]; return itemType;
(9) 字符串长度获取(支持中文)
获取字符串的长度,有时候经常就是str.length直接获取,其实在字符串没有中文的情况是可以的,但是一旦有中文,就会发现这样获取其实是不正确的。因为中文占两个字节
function getStrRealLen(str) { ///<summary>获得字符串实际长度,中文2,英文1</summary> ///<param name="str">要获得长度的字符串</param> var realLength = 0, len = str.length, charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128) realLength += 1; else realLength += 2; } return realLength; };前端进阶者学习交流q-u-n---731771211
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341