1.ifelse的简单简写当我们只有一层if判断时,我们可以简写这个条件判断flag=false}//上面的方法可以简写为this.flag=(id==='xxxxxx')?true:false复制代码2、判断空值、null、nudefined有时候,我们需要判断一个值是否为空,以便进行下一步处理;或检查输入值是否为空。//原先letinput=this.valueif(input===null||input===undefined||input===""){this.flag=false}else{this.flag=true}//简写this.flag=真||》复制代码3.布尔值的判断我们只是判断某个变量的布尔值来操作。//原文if(flag===true){}//简写if(flag)复制代码4.Loop循环是我们在处理数据时使用最多的方法for(vari=0;i{})复制代码5.字符串和数字的相互转换我们返回一些数字给后端字符串要改成一个值到方便我们的操作,例如计算等。values也需要转成string,因为后端需要的字段类型是string。letstring='123'letnumber=123//stringtovalueletnum1=string*1//这个最简单,但是只能是只有数字的字符串letnum2=parseInt(string);//这是123转换为整数;或者提取数字和字符拼接中的数字letnum3=parseFloat(string);//这是精度的转换,123.0letnum4=Number(string)//这是强制转换//转换字符串lets=number.toString()lets2=number+""//最多输入两位小数在输入框中,将单位改为letamout=(this.ruleForm.amount)*100this.ruleForm.amount=(parseFloat(amout)).toString()//这样就不会丢失精度了。复制代码6.字符串截取,拼接截取一些字符串,然后拼接成你需要的数据//截取字符串String.substr("Wheretostart","Interceptafew")letstring='obj_open123456789'string.substr(3,5)string.substr(3)//返回第三个之后的所有//splitletobj=string.split('_');letid='user_'+obj//substring(3)leta=string.substring(3)//从后面截取数据lettype=(file.name).substring((file.name).lastIndexOf(".")+1)Duplicatecode7.判断一个字符串是否包含acertaincharacter判断一个字符串是否包含特定字符//判断一个字符串是否包含return下标不包含return-1letstring='obj_open123456789'vari=string.indexOf("open")复制代码8.有时化简判断条件是否多这是一种查询包含的方法,可以用来做多值判断;比如判断上传文件的类型是否正确时lettype=file.type//原来的if(type==='png'||type==='jpg'||输入==='jpeg'||type==='svg'){}//现在if(['png','jpg','jpeg','svg'].includes(type)){}//或if(['png','jpg','jpeg','svg'].indexOf(type)>=0){}复制代码9、多变量同时赋值多变量赋值leta=1letb=2letc=3//shorthandlet[a,b,c]=[1,2,3]//orletx;lety=trueletx,y=true复制代码10.使用长度清空数组letarr=[1,2,3,4,5]arr,length=0letarr=[]复制代码11.空格合并运算符是当我们需要检查一个值是否为空时,给空值加上一个默认值//原来的if(str===''){this.flag='long-term'}//简写this.flag=null??'long-term'复制代码12.合并数组的拼接,创建一个新数组,将数组与任意数组或值拼接letarr=['1','2','3','4']letarr2=['9']letarr3=arr.concat(arr2)console.log(arr3);//['1','2','3','4','9']复制代码13,判断对象中是否有字段if('role_info'inobj){}复制代码14,获取其中的一个随机数指定范围在开发中,我们可能需要用到一些随机生成的字段值letnum=Math.floor(Math.random()*(max-min+1))+min;复制代码15,保留小数点letnum=2.123456;num=num.toFixed(2);//这个值会四舍五入到2.12//如果不想四舍五入letnum2=parseFloat((num*100)/100)////其他方法parseInt(num)//只会四舍五入2Math.ceil(num)//向上舍入,如果有小数,整数部分加1Math.floor(num)//向下舍入Math.floor(num)//向上舍入key变成valueletobj={id:1,res:true,msg:error}//将对象的key转成数组Object.keys(obj)//['id','res','msg']//转将对象的值存入数组Object.values(obj)//[1,true,error]//获取对象的key和value,返回一个多维数组Object.entries(obj)//[['id',1],['res',true],['msg',error]]复制代码17,判断字符串中是否有特定字符,检查httplethtml=(this.html).trim()。toLowerCase()//改为小写console.log(html.indexOf('http')=='-1');//判断urlCopy码中是否有http18,判断数组中是否有特定字符lettext=['TXT','DOC','XLS','PPT','DOCX','XLSX','PPTX','pdf','txt','doc','xls','ppt','docx','xlsx','pptx','zip','rar','ZIP','RAR']text.indexOf(type)如果等于-1,表示数组中没有该字符,复制代码19,将字符串改为小写lettype2=type.trim().toLowerCase()复制代码20,时间格式转换和时间获取varmyDate=newDate();我的日期.getYear();//获取当前年份(2位数字)myDate.getFullYear();//获取完整的年份(4位数字,1970-????)myDate.getMonth();//获取当前月份(0-11,0代表一月)//所以获取当前月份为myDate.getMonth()+1;我的日期.getDate();//获取当前日期(1-31)myDate.getDay();//获取当前周X(0-6,0代表星期日)myDate.getTime();//获取当前时间(自1970.1.1以来的毫秒数)myDate.getHours();//获取当前小时(0-23)myDate.getMinutes();//获取当前分钟数(0-59)myDate.getSeconds();//获取当前秒数(0-59)myDate.getMilliseconds();//获取当前的毫秒数(0-999)myDate.toLocaleDateString();//获取当前日期varmytime=myDate.toLocaleTimeString();//获取当前时间myDate.toLocaleString();//获取日期时间复制代码21、JS方法获取当前时间戳-JavaScript获取当前毫秒时间戳下面三个方法vartimestamp=Date.parse(newDate());结果:1280977330000//不推荐;毫秒更改为000显示vartimestamp=(newDate()).valueOf();结果:1280977330748//推荐;变量时间戳=新日期().getTime();结果:1280977330748//推荐;在js中单独调用newDate();显示这种格式Mar3110:10:43UTC+08002012但使用newDate()参与计算会自动转换复制代码为从1970.1.1开始的毫秒数总结如果你觉得这篇文章对你有点帮助,点个赞或者加入我的开发交流群:1025263163互相学习,我们会有专业的技术解答如果你觉得这篇文章对你有用,请给我们的开源项目一个小星星:http://github.crmeb.net/u/defu非常感谢!