JavaScript笔记整理详解编程语言
2023-06-13 09:11:47 时间
整理一篇工作中的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);
来自https://www.cnblogs.com/wdw31210/archive/2012/06/27/2565865.html
$("#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,改成哈希字典匹配的方法 */ //if...else...方法 /* var itemTypeStr = ; if(rowdata.itemType == 1){ itemTypeStr = 行政许可; }else if(rowdata.itemType == 2){ itemTypeStr = 非行政许可; }else if(rowdata.itemType == 3){ itemTypeStr = 公共服务事项; } */ 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;
#### (10) window.open打开之后关闭刷新实现
有些时候,要打开一个弹窗是用window.open实现,然后我尝试在弹窗页面做关闭窗口的上级页面刷新,发现并没有效果,网上找资料,找到一篇很好的博客 https://blog.csdn.net/wangshanny/article/details/46325537
/** * 监听打开的弹窗,关闭后刷新页面 function openWin(url,text,winInfo){ var winObj = window.open(url,text,winInfo); var loop = setInterval(function() { if(winObj.closed) { clearInterval(loop); //alert(closed); parent.location.reload(); }, 1);
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17051.html
cjava相关文章
- JavaScript笔记(11)之Web APIs阶段 获取元素
- JavaScript笔记(22)
- JavaScript学习笔记1
- javascript系列学习笔记-this
- JavaScript刷LeetCode贪心算法篇
- javascript 正则相关的简单应用
- JavaScript学习总结(二十)——Javascript非构造函数的继承详解编程语言
- JavaScript学习总结(十六)——Javascript闭包(Closure)详解编程语言
- HTML/CSS/JavaScript学习笔记持续更新详解编程语言
- 学习Html、css和Javascript中的常用标签英文缩写笔记(可供同学们参考)详解编程语言
- 用熟悉 javascript 代替 C++ 来写解析器
- javascript常用代码技巧大收集
- javascript验证码生成代码推荐学习
- javascript线性渐变三
- JavaScript学习笔记(十二)dom
- javascript单例/单体模式(Singleton)
- javascript权威指南学习笔记之变量作用域分享
- JavaScript学习笔记(一)js基本语法
- JavaScript高级程序设计阅读笔记(四)ECMAScript中的类型转换
- JavaScript高级程序设计阅读笔记(五)ECMAScript中的运算符(一)
- javascript学习笔记(五)Array数组类型介绍
- javascript学习笔记--数字格式类型
- Javascript学习笔记之函数篇(四):arguments对象
- javascript的push使用指南
- Javascript学习笔记之对象篇(四):forin循环
- JavaScript中伪协议javascript:使用探讨
- JavaScript中的包装对象介绍
- Javascript中call与apply的学习笔记