整理一篇工作中的JavaScript工作脚本笔记,学而三省吾身。
(1)获取Url绝对路径
<前> function getUrlRelativePath () {才能 ,,,,var url =, document.location.toString (); ,,,,,,, ,,,,var arrUrl =, url.split (“//?; ,,,,var start =, arrUrl [1] .indexOf (“/?; ,,,,var relUrl =, arrUrl [1] .substring(开始);//停止省略,截取从开始开始到结尾的所有字符 ,,,,如果(relUrl.indexOf (“?”), !=, 1) { ,,,,时间=relUrl relUrl.split (“?”) [0]; ,,,,} ,,,,return relUrl; ,,} >之前(2)获取Url请求参数
<前> function GetRequest (), { var 才能;url =, location.search;,//获取url中“?“符后的字串 var 才能;theRequest =, new 对象(); if 才能;(url.indexOf (“?”), !=, 1), { ,,,var str =, url.substr (1); ,,,strs =, str.split(”和“); ,,,(var 小姐:=,0;,小姐:& lt;, strs.length;,小姐:+ +),{ ,,,,,theRequest (str[我].split (“=? [0]],=, unescape (str[我].split (“=? [1]); ,,,} ,,} return 才能;theRequest; } var Request =, new 对象(); 时间=Request GetRequest (); >之前(3)获取特定请求参数
<前> function getQueryString(名字),{ var 才能;reg =, new 正则表达式(& # 39;(^ |,)& # 39;,+,name +, & # 39;=((^和)*)(和| $)& # 39;,,& # 39;我# 39;); var 才能;r =, window.location.search.substr (1) .match(注册); if 才能;(r !=, null), { ,,,return unescape (r [2]); ,,} return 才能;零; }//,这样调用: 警报(GetQueryString(“参数名1“)); >之前
函数(4)把函数
将现有的对象转换为JSON字符串,则可以使用JSON.stringify (obj)函数
(5)setTimeOut函数
javascript延时3秒执行方法函数
setTimeout(函数()方法(){},3000);
(6)js获取当前年月日时分秒星期
<前> 美元(“# aa") .click (function (), { var date =, new 日期(); 时间=this.year date.getFullYear (); 时间=this.month date.getMonth (), +, 1; 时间=this.date date.getDate (); 时间=this.day new 数组(“星期日,,,“星期一,,,“星期二“,,“星期三,,,“星期四,,,“星期五,,,“星期六“)[date.getDay ()); this.hour =, date.getHours (), & lt;, 10, ?,“0”, +, date.getHours (),:, date.getHours (); this.minute =, date.getMinutes (), & lt;, 10, ?,“0”, +, date.getMinutes (),:, date.getMinutes (); this.second =, date.getSeconds (), & lt;, 10, ?,“0”, +, date.getSeconds (),:, date.getSeconds (); var currentTime =,“现在是:“,+,this.year +,“年”,+,this.month +,“月“,+,this.date +,“日,,,+,this.hour +,“:“, +, this.minute +,“:“, +, this.second +,,,,, +, this.day; 警报(currentTime); }); >之前(7)Ajax请求显示加载中提示
<前> . ajax({美元 ,,,类型:,“post", ,,,url:, loadurl, 异步:,,,,真的, ,,,我:math . random (), ,,,成功:功能(数据){ ,,,,,,,美元(“# tra_" + id) . html(数据); ,,,} ,,,beforeSend:函数(){ ,,,,,,,美元(“# tra_" + id) . html(& # 39;加载中…& # 39;); ,,,} }); >之前(8)大量if…else…的替换方法
遇到需要写很多if…else…的情况,或许可以考虑如下的哈希字典匹配的方法,或者用状态模式实现
例子:
<前>/*,不用如果……,改成哈希字典匹配的方法,*/,,,,,,,,,,,,,,,,,,,,,,,//如果……其他的方法 ,,,,,,,,,,,,,,,,,,,,,,,/*,var itemTypeStr =, & # 39; & # 39;; ,,,,,,,,,,,,,,,,,,,,,,,如果(rowdata.itemType ==, & # 39; 1 & # 39;) { ,,,,,,,,,,,,,,,,,,,,,,,,,,,itemTypeStr =, & # 39;行政许可& # 39;; null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null