js常用函数

来源:互联网 发布:杭州市软件行业协会 编辑:程序博客网 时间:2024/06/05 07:13

1.ajax请求前后置按钮无效、有效

/*================ 20160918 置按钮有效和无效  ==================*/function disableAllButtons(){     var btns = document.getElementsByTagName("button");     for(var i=0;i<btns.length;i++){          btns[i].disabled = true;     }}function enableAllButtons(){    var btns = document.getElementsByTagName("button");     for(var i=0;i<btns.length;i++){          btns[i].disabled = "";     }}

2.判断变量、对象是否为空

function isEmptyVariable(obj){    if(obj == undefined || obj == 'undefined' || obj == null || obj == "null" || obj == ""){        return true;    }    return false;}//判断是否为空对象function isEmptyObject(obj){    if(obj == undefined || obj == null ){return true;}    for(var n in obj){ return false; }     return true; } 

3.保留两位有效数字

//两个浮点数求和function accAdd(num1,num2){   var r1,r2,m;   try{       r1 = num1.toString().split('.')[1].length;   }catch(e){       r1 = 0;   }   try{       r2=num2.toString().split(".")[1].length;   }catch(e){       r2=0;   }   m=Math.pow(10,Math.max(r1,r2));   // return (num1*m+num2*m)/m;   return Math.round(num1*m+num2*m)/m;}//保留小数点后两位有效数字0.001344 处理后结果时0.0013 /* * @param number 要处理的数字 * @param bits 保留的有效数字的位数 * * */function processNumberWithValidBits(number, bits){    var arr = number.toString().split(".");    if(arr == undefined || arr.length != 2){        return number;    }    var tempStr = arr[1];    var newStr = [];    var count = 0;    var delta = 0;//因四舍五入需要加的增量    for(var i=0; i<tempStr.length && count<bits; i++){        if(tempStr[i] != 0 || count > 0){ //20161010 从小数点后第一个不为0的数字开始计算位数            count++;        }        if(count == bits && i<tempStr.length-1){//考虑四舍五入            if(parseInt(tempStr[i+1]) >= 5){                newStr.push(parseInt(tempStr[i]));                delta += Math.pow(0.1,(i+1)).toFixed(i+1);                continue;            }        }        newStr.push(tempStr[i]);    }//for    var newNumberStr = arr[0];    if(newStr.length>0){        newNumberStr = arr[0] + '.' + newStr.join("");    }    console.log("newNumberStr: " + parseFloat(newNumberStr) + "; delta: " + parseFloat(delta));    return accAdd(parseFloat(newNumberStr),delta);}

4.整数每三位用逗号分割显示

//将数字每三位用逗号隔开 显示function format_number(n){      //console.log("n:" + n);       n = processNumberWithValidBits(n, 2);      console.log("processNumberWithValidBits n: " + n);       var arr = n.toString().split(".");       var integerPart = parseInt(n).toString();       var decimalPart = "";       if(arr != undefined && arr.length == 2){//小数           integerPart = arr[0];//整数部分           decimalPart = arr[1];//小数部分       }       var b=integerPart;       var len=b.length;       var result = b;       if(len>3){           var r=len%3;           result =  r>0?b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(","):b.slice(r,len).match(/\d{3}/g).join(",");       }       if(decimalPart != ""){           result += '.' + decimalPart;       }       //console.log("integerPart: " + integerPart + "; decimalPart: " + decimalPart);       return result;}

5.日期格式化

Date.prototype.format = function(){    var y = this.getFullYear();    var m = this.getMonth()+1;    var d = this.getDate();    var hh = this.getHours();    var mm = this.getMinutes();    var ss = this.getSeconds();    //var hour = date.get    function formatNumber(value){    if(value < 10){    value = '0' + value;    }    return value;    }    return y + '-'+ formatNumber(m) + '-'+ formatNumber(d);     //+ " " + formatNumber(hh) + ":" + formatNumber(mm) + ":" + formatNumber(ss);}
0 0
原创粉丝点击