JS常用方法的一些总结一

//一些常用的方法收集


var Utils = window.Utils = $U = {
name:"util",
vesion:"wx_0.1"
}
//清除前后空格键
$U.trim=function(str,type){
  var regALL = /(^\s*)|(\s*$)/g;
  var regL = /^\s*/g;
  var regR = /\s*$/g;
  var  reg= regALL;
  if(type=='L'){
   reg= regL;
  }else if(type=='R'){
reg= regR;
  }
 return str.replace(reg,"");
};
//格式化日期yyyy-mm-dd
$U.formateDate=function(format){
var date = new Date();
//console.log("天:"+date.getDate());
//console.log("星期:"+date.getDay());
//console.log("年:"+date.getFullYear());
//console.log("月:"+date.getMonth());
console.log(date.toString());
};
//字符串替换
$U.formatTemplate=function (source, opts) {
    source = String(source);
    if ( 'undefined' != typeof opts ) {
        if ( '[object Object]' == Object.prototype.toString.call( opts ) ) {
            return source.replace( /\$\{(.+?)\}/g,
                function ( match, key ) {//key与分组有关()且.+?问号作用指0个或一个
                    var replacer = opts[ key ];
                    if ( 'function' == typeof replacer ) {
                        replacer = replacer( key );
                    }
                    return ( 'undefined' == typeof replacer ? '' : replacer );
                });


        } else {
//取得从第二个参数以后的所有参数,以数组的形式
            var data = Array.prototype.slice.call(arguments, 1);
            var len = data.length;
            return source.replace( /\{(\d+)\}/g,
                function ( match, index ) {
                    index = parseInt( index, 10 );
                    return ( index >= len ? match : data[index] );
                });
        }
    }
    return source;
};




// HTML标签字符串转义
$U.escapeHTML=function(str){
return str.replace(/</g, '&lt;');
}
//得到字符串字节数
$U.getBytesLength = function(str){
var len = 0;
for (var i = 0; i < str.length; i++) {
var c = str.charCodeAt(i);
//单字节加1   
if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
len++;
}
else {
len += 2;
}
}
return len;
}
//当一个变量有值时执行
$U.excute=function(str,func){
var exeReturn = false;
var exe = function(){
var strR = eval(str);
if(strR!=null){
exeReturn = true;
func();
}
if(exeReturn){
clearInterval(sid);
  }
}
var sid = setInterval(exe,500);
}
//获取页面的高度与宽度
$U.getPageSize=function(){
  return {
  pageHeigh: document.body.scrollHeight || document.documentElement.scrollHeight,
  pageWidth: document.body.scrollWidth || document.documentElement.scrollWidth
};
}
//获取窗口的高度与宽度 innerHeight指可视的大小,一屏,outerHeight指整个窗口的大小
$U.getWindowSize=function(){
  var docEl = document.documentElement;  //标准文档解析下document.compatMode
    return {
windowHeight: self.innerHeight || docEl && docEl.clientHeight || document.body.clientHeight,
windowWidth: self.innerWidth || docE1 && docE1.clientWidth||document.body.clientWidth
  }
}
//获取滚动条的高度与宽度
$U.getScrollSize = function(a){
var b = document.documentElement;  
        if (a) {  
            var c = a.parentNode,  
                e = a.scrollTop || 0;  
            if (a == b) e = UI.scrollY();  
            return c ? e + UI.scrollY(c) : e  
        }  
        return self.pageYOffset || b && b.scrollTop || document.body.scrollTop  
}
//对象克隆
$U.clone = function(myObj){
    var myNewObj,objType=Object.prototype.toString.call(myObj);
if(objType=='[object Array]'){
myNewObj=[];
for(var i=0;i<myObj.length;i++){
myNewObj[i]=$U.clone(myObj[i]);
}
}else if(objType=='[object Object'){
myNewObj = new Object();
for(key in myObj){
myNewObj[key] = $U.clone(myObj[key]);
}
}else if(objType=='[object Date'){
return myObj.toString();
}else{
return myObj;
}
    return myNewObj;


}
//获取cookie
$U.getCookie = function(name){
var strcookies = unescape(document.cookie);
var cookies = strcookies.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].split("=");
if (cookie[0] == name) {
return unescape(cookie[1]);
}
}
}
//写cookie
$U.writeCookie = function(name,value,expiresHours,path,domain){
//判断是否设置过期时间 
var cookieString=name+"="+escape(value)+path?(";path="+path):"";
cookieString+=domain?(";domain="+domain):"";
if(expiresHours>0){ 
var date=new Date(); 
date.setTime(date.getTime+expiresHours*3600*1000); 
cookieString=cookieString+"; expires="+date.toGMTString(); 

document.cookie=cookieString; 
}
//删除cookie
$U.deleteCookie = function(name){
var date=new Date(); 
date.setTime(date.getTime()-10000); 
document.cookie=name+"=v; expires="+date.toGMTString(); 
}
//创建加载
$U.setLoading=function(){
   var img = document.creatElement('img');
   img.src="";
}
//快速获取元素的最大值与最小值
//Math.max.apply(Math, [1,2,3]) // Math.min.apply(Math,[1,2,3]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值