JS常见方法封装的案例

2021-02-22 07:36:38 172 0
tangjin

小编给大家分享一下JS常见方法封装的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、判断是否是微信浏览器

JS常见方法封装的案例

functionisWechat(){
varua=navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=='micromessenger'){
returntrue;
}else{
returnfalse;
}
}

2、判断是否是PC/WAP端

functionisPC(){
varuserAgentInfo=navigator.userAgent;
varAgents=['Android','iPhone','SymbianOS','WindowsPhone','iPad','iPod'];
varflag=true;
for(varv=0;v<Agents.length;v++){
if(userAgentInfo.indexOf(Agents[v])>0){
flag=false;
break;
}
}
returnflag;
}

3、获取URL参数

functiongetUrlParam(name,url){
if(!url)url=location.href;
if(url.indexOf('?')==-1)return'';
try{
varre=newRegExp(""+name+"=([^&?]*)","ig");
return((url.match(re))?(decodeURIComponent(url.match(re)[0].substr(name.length+1))):'');
}catch(_e){
return'';
}
}

4、获取cookie

functiongetCookie(name,defaultVal=null){
vararr,
reg=newRegExp('(^|)'+name+'=([^;]*)(;|$)');
if(arr=document.cookie.match(reg)){
returnunescape(arr[2]);
}else{
returndefaultVal;
}
}

5、设置cookie

functionsetCookie(name,value,seconds){
varexpires=newDate();
expires.setTime(expires.getTime()+parseInt(seconds)*1000);
vardomain=document.domain;
vardomainArr=domain.split('.');
if(domainArr.length>=3){
domainArr.shift();
domain=domainArr.join('.');
}
document.cookie=escape(name)+'='+escape(value)+(seconds?(';expires='+expires.toGMTString()):"")+';path=/;domain=.'+domain+';';
}

6、删除cookie

//this指上面的方法
functiondelCookie(name){
this.setCookie(name,'',-1);
}

7、保存网页到桌面

functiontoDesktop(sUrl,sName){
try{
varWshShell=newActiveXObject("WScript.Shell");
varoUrlLink=WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop")+"\\"+sName+".url");
oUrlLink.TargetPath=sUrl;
oUrlLink.Save();
}catch(e){
alert("当前IE安全级别不允许操作!");
}
}

8、添加网页到收藏

functionAddFavorite(title,url){
try{
window.external.addFavorite(url,title);
}catch(e){
try{
window.sidebar.addPanel(title,url,"");
}catch(e){
alert("抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请使用Ctrl+D进行添加");
}
}
}

9、判断是否为空

functionisEmpty(val){
if(typeofval=="undefined"||val==null||val==""){
returntrue;
}else{
returnfalse;
}
}

10、值是否在数组内

functioninArray(search,array){
for(variinarray){
if(array[i]==search){
returntrue;
}
}
returnfalse;
}

11、数组去重

functionarrayUnique(arr){
return[...newSet(arr)];
}

12、设置Localstorage

functionsetLocalstorage(key,value){
if(!window.Storage){
console.error("该浏览器不支持Localstorage属性!!");
returnfalse;
}else{
localStorage.setItem(key,value);
}
}

13、获取Localstorage

functiongetLocalstorage(key){
varvalue=localStorage.getItem(key);
if(value){
try{
varvalue_json=JSON.parse(value);
if(typeofvalue_json==='object'){
returnvalue_json;
}elseif(typeofvalue_json==='number'){
returnvalue_json;
}
}catch(e){
returnvalue;
}
}else{
returnfalse;
}
}

14、移除单个Localstorage

functionremoveLocalstorage(key){
localStorage.removeItem(key);
}

15、清除整个Localstorage

functionclearLocalstorage(){
localStorage.clear();
}

以上是“JS常见方法封装的案例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!

收藏
分享
海报
0 条评论
172
上一篇:在Vue SPA应用中修改HTML头部标签的方法 下一篇:JavaScript中事件流的示例分析

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码