函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname() { 这里是要执行的代码 }
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
字符串长度截取
functiocutstr(strlen{ vatemp, icoun, patr/[^\x-\xff]/, strr""; fo(vastr.lengthi++{ i(icounle{ temstr.substr(i); i(patrn.exec(temp=null{ icounicoun els{ icounicoun } strr+temp els{ break; } } returstrr"..." }
替换全部
String.prototype.replaceAlfunction(ss{ returthis.replace(neRegExp(s"gm")s) }
清除空格
String.prototype.trifunction({
vareExtraSpac/^\s*(.*?)\s+$/;
returthis.replace(reExtraSpace"$")
}
清除左空格/右空格
functioltrim(s)returs.replace/^(\s*| *)/"")}
functiortrim(s)returs.replace/(\s*| *)$/"")}
判断是否以某个字符串开头
String.prototype.startWitfunctio(s{
returthis.indexOf(s=
}
判断是否以某个字符串结束
String.prototype.endWitfunctio(s{
vathis.lengts.length;
retur(>&this.lastIndexOf(s=d)
}
转义html标签
functioHtmlEncode(text{
returtext.replace(/&/g'&').replace(/\"/g'"').replace(/</g'<').replace(/>/g'>')
}
时间日期格式转换
Date.prototype.Formafunction(formatStr{ vastformatStr; vaWee['日''一''二''三''四''五''六']; ststr.replace(/yyyy|YYYY/this.getFullYear()); ststr.replace(/yy|YY/(this.getYear((this.getYear().toString('(this.getYear()); ststr.replace(/MM/(this.getMonth((this.getMonth().toString('(this.getMonth()); ststr.replace(/M/g(this.getMonth()); ststr.replace(/w|W/gWeek[this.getDay()]); ststr.replace(/dd|DD/this.getDate(this.getDate().toString('this.getDate()); ststr.replace(/d|D/gthis.getDate()); ststr.replace(/hh|HH/this.getHours(this.getHours().toString('this.getHours()); ststr.replace(/h|H/gthis.getHours()); ststr.replace(/mm/this.getMinutes(this.getMinutes().toString('this.getMinutes()); ststr.replace(/m/gthis.getMinutes()); ststr.replace(/ss|SS/this.getSeconds(this.getSeconds().toString('this.getSeconds()); ststr.replace(/s|S/gthis.getSeconds()); returstr }
判断是否为数字类型
functioisDigit(value{
vapatr/^[-]*$/;
i(patrn.exec(value=nul|valu=""{
returfalse
els{
returtrue
}
}
设置cookie值
functiosetCookie(namevalueHours{
vaneDate();
vaoffse;
vautd.getTime((d.getTimezoneOffset();
vanut(offset);
vaexneDate(nd);
exp.setTime(exp.getTime(Hour);
document.cookinam"=escape(value";path=https://www.jb51.net/;expires=exp.toGMTString(";domain=doc.com;"
}
获取cookie值
functiogetCookie(name{ vaardocument.cookie.match(neRegExp("(^)nam"=([^;]*)(;|$)")); i(ar!nullreturunescape(arr[]); returnull }
加入收藏夹
functioAddFavorite(sURLsTitle{
tr{
window.external.addFavorite(sURLsTitle)
catch(e{
tr{
window.sidebar.addPanel(sTitlesURL"")
catch(e{
alert("加入收藏失败,请使用Ctrl+D进行添加")
}
}
}
设为首页
functiosetHomepage({ i(document.all{ document.body.style.behavio'url(#default#homepage)'; document.body.setHomePage('http://wcboy.com') elsi(window.sidebar{ i(window.netscape{ tr{ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") catch(e{ alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输about:config,然后将signed.applets.codebase_principal_suppor值该为true") } } vaprefComponents.classes['@mozilla.org/preferences-service;'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage''http://wcboy.com') } }
加载样式文件
functioLoadStyle(url{ tr{ document.createStyleSheet(url) catch(e{ vacssLindocument.createElement('link'); cssLink.re'stylesheet'; cssLink.typ'text/css'; cssLink.hreurl; vaheadocument.getElementsByTagName('head')[]; head.appendChild(cssLink) } }
返回脚本内容
functioevalscript(s{ if(s.indexOf('<script'=-returs; va/<script[^\>]*?>([^\x]*?)<\/script>/ig; vaar[]; while(arp.exec(s){ vap/<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i; vaarr[]; arrp.exec(arr[]); if(arr{ appendscript(arr[]''arr[]arr[]); els{ p/<script(.*?)>([^\x]+?)<\/script>/i; arrp.exec(arr[]); appendscript(''arr[]arr[].indexOf('reload='!-); } } returs; }
清除脚本内容
functiostripscript(s{
returs.replace(/<script.*?>.*?<\/script>/ig'');
}
动态加载脚本文件