「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战」
1.空值判断
...args剩余参数用法
1.剩余参数语法允许我们将一个不定数量的参数表示为一个数组。
2. 如果函数的最后一个命名参数以...为前缀,则它将成为一个数组,
其中从0(包括)到theArgs.length(排除)的元素由传递给函数的实际参数提供。
isNullOrBlank(...args){
for(let i=0;i<args.length;i++){
let argument=args[i];
if(argument===null||argument===''||argument===undefined){
return true;
}
}
return false;
}
2.保留X位小数
NaN() 方法:NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
formatDecimal(number,x){
let value="-";
x=x?x:1;
if(!isNullOrBlank(number)){
if(!NaN(number)){
if(String(number).indexof('.')>-1){
// number为小数时
if(x==0){
value=Math.round(number);
}else{
value=Math.round(number * Math.pow(10,x))/Math.pow(10,x);
}
}else{
// number为整数时
value=parseFloat(number);
}
}
}
}
3.强制保留X位小数
forceFormatDecimal(number,x){
let value=formatDecimal(number,x);
if(value!='-'){
value=value.toFixed(x);
}
}
NumberObject.toFixed(num)
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
4.保留两位小数
isNaN() 函数用于检查其参数是否是非数字值。
isNaN(x)
如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。
keepTwoDecimal(value){
let reg=/^\d+(.\d+)?$/;
if(reg.test(value)){
if(!isNullOrBlank(value)){
if(!isNaN(value)){
let split=String(value).split('.');
if(split.length>1&&split[1].length>0){
split[1]=split[1].substring(0,2);
value=split.join('.');
}
}
}
}else{
value=value.replace(/[^\d.]/g,'');
}
return value;
}
5.将yyyyMMdd的时间格式转换成yyyy-MM-dd格式
// 对Date的扩展,将Date转化为指定格式的String
// 年(y)可以用1-4个占位符,月(M)、日(d)、小时(h)、分(m)、秒(s)可以用1-2个占位符,星期(w)、毫秒(s)只能用1个占位符
// (new Date()).Format('yyyy/MM/dd w') ===> 2020/01/01 星期三
// (new Date()).Format('yyyy-MM-dd hh:mm:ss.S') ===> 2020/01/01 08:05:06.666
// (new Date()).Format('yyyy-M-d h:m:s.S') ===> 2020-1-1 8:5:6.666
Date.prototype.Format=function(fmt){
var o={
'M+':this.getMonth()+1,
'd+':this.getDate(),
'h+':this.getHours(),
'm+':this.getMinutes(),
's+':this.getSeconds(),
S:this.getMilliseconds()
};
var week=['日','一','二','三','四','五','六'];
if(/(y+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1,(this.getFullYear()+'').substr(4-RegExp.$1.length);
}
if(/(w)/.test(fmt)){
fmt=fmt.replace(RegExp.$1,'星期'+week[this.getDay()]);
}
for(var k in o){
if(new RegExp('(' + k + ')').test(fmt)){
fmt=fmt.replace(RegExp.$1,RegExp.$1.length==1?0[k]:('00'+o[k]).substr((''+o[k]).length));
}
}
return fmt;
}