关于javascript:JS常用小技巧让你的代码更简洁

7次阅读

共计 3972 个字符,预计需要花费 10 分钟才能阅读完成。

1、简略的 if else 的简写
当咱们只有一层的 if 判断的时候,咱们能够简写这个条件判断

// 原
let id = this.id
if(id === ‘xxxxxx’){

this.flag = true

}else{

this.flag = false

}
// 下面的办法能够简写成
this.flag = (id === ‘xxxxxx’) ? true : false
复制代码
2、判断空值,null,nudefined
有时候,咱们会须要判断某个值是否为空,不便咱们来解决下一步;或者查看输出的值是否为空值。

// 原
let input = this.value
if(input === null || input === undefined || input === “”){

this.flag = false

}else{

this.flag = true

}
// 简写
this.flag = true || “”
复制代码
3、布尔值的判断
咱们在仅仅对某个变量的布尔值进行判断,来进行操作。

// 原
if(flag === true){}
// 简写
if(flag)
复制代码
4、循环
循环是咱们在解决数据的时候用的最多的一种办法

for(var i=0;i<list.length;i++)

for (let i in list)

for(let i of list)

list.forEach(item =>{})
复制代码
5、字符串与数值的相互转型
咱们对于后端返回的一些数字型的字符串要改成数值,来不便咱们进行计算等等之类的操作。数值也须要转换成字符串,因为后端须要的字段类型是字符串。

let string = ‘123’
let number = 123
// 字符串转数值
let num1 = string*1 // 这种是最简略的,然而只能是只有数字的字符串
let num2 = parseInt(string); // 这是转换成整数的 123;或者在数字与字符的拼接中提取数字
let num3 = parseFloat(string); // 这是精度的转换,123.0
let num4 = Number(string) // 这是强制性转换

// 转换字符串
let s = number.toString()
let s2 = number+””

// 输入框最多输出两位小数,并且把单位改成分
let amout=(this.ruleForm.amount)*100
this.ruleForm.amount = (parseFloat(amout)).toString() // 这样就不会失落精度
复制代码
6、字符串的截取,拼接
对某些字符串来进行截取,而后拼接成本人须要的数据

// 截取字符串 字符串.substr(” 从哪开始 ”,” 截取几个 ”)
let string = ‘obj_open123456789’
string.substr(3,5)
string.substr(3) // 返回第三位前面的全副
//split
let obj = string.split(‘_’);
let id = ‘user_’+obj
//substring(3)
let a = string.substring(3)

// 从前面截取数据
let type = (file.name).substring((file.name).lastIndexOf(“.”)+1)
复制代码
7、判断字符串中是否含有某个字符
判断字符串中是否含有某个特定的字符

// 判断是否蕴含某个字符串 蕴含返回下标 不蕴含返回 -1
let string = ‘obj_open123456789’
var i = string.indexOf(“open”)
复制代码
8、判断条件比拟多的时候的简化
这是一个查问蕴含的办法,能够用来做多个值的判断;比方在判断上传文件的类型是否正确的时候

let type = file.type
// 原
if (type === ‘png’ || type === ‘jpg’ || type === ‘jpeg’ || type ===’svg’) {}
// 当初
if([‘png’,’jpg’,’jpeg’,’svg’].includes(type)){}
// 或者
if([‘png’,’jpg’,’jpeg’,’svg’].indexOf(type) >= 0){}
复制代码
9、多变量赋值
同时给多个变量赋值

let a= 1
let b = 2
let c= 3
// 简写
let [a,b,c] = [1,2,3]

// 或者
let x;
let y = true
let x,y=true
复制代码
10、用长度来清空数组
let arr = [1,2,3,4,5]
arr,length = 0
let arr = []
复制代码
11、空位合并运算符
在咱们须要查看某个值是否为空的时候,给空值增加一个默认值

// 原
if(str === ”){

this.flag = '长期'

}
// 简写
this.flag = null ?? ‘ 长期 ’
复制代码
12、数组的合并
concat,创立一个新数组,将 array 与任何数组 或 值连贯在一起。

let arr = [‘1′,’2′,’3′,’4’]
let arr2 = [‘9’]
let arr3 = arr.concat(arr2)
console.log(arr3);
//[‘1’, ‘2’, ‘3’, ‘4’, ‘9’]
复制代码
13、判断对象中是否存在某个字段
if(‘role_info’ in obj){}
复制代码
14、获取指定范畴内的随机数
在开发中,咱们可能须要用到某些随机生成的字段数值

let num = Math.floor(Math.random() * (max – min + 1)) + min;
复制代码
15、保留小数
let num =2.123456;
num = num.toFixed(2); // 这个数值会被四舍五入 2.12
// 如果不想被四舍五入的话
let num2 = parseFloat((num * 100)/100) //

// 其余的办法
parseInt(num) // 只会取整 2
Math.ceil(num) // 向上取整, 有小数就整数局部加 1
Math.floor(num) // 向下取整
Math.floor(num) // 四舍五入
复制代码
16、把对象的键和变变成数值
let obj={id:1,res:true,msg:error}
// 把对象的键变成数组
Object.keys(obj) //[‘id’,’res’,’msg’]

// 把对象的值变成数组
Object.values(obj) // [1,true,error]

// 时获取对象的键和值,并返回一个多维数组
Object.entries(obj) // [[‘id’,1],[‘res’,true],[‘msg’,error]]
复制代码
17、判断字符串中有没有特定的字符,测验 http
let html = (this.html).trim().toLowerCase() // 变成小写
console.log(html.indexOf(‘http’)== ‘-1’); // 判断 url 是否存在 http
复制代码
18、判断数组中有没有特定的字符
let text = [‘TXT’,’DOC’,’XLS’,’PPT’,’DOCX’,’XLSX’,’PPTX’,’pdf’,’txt’,’doc’,’xls’,’ppt’,’docx’,’xlsx’,’pptx’,’zip’,’rar’,’ZIP’,’RAR’]
text.indexOf(type)

如果等于 -1 就阐明数组中没有该字符,
复制代码
19、把字符串变成小写模式
let type2 = type.trim().toLowerCase()
复制代码
20、工夫格局的转换与工夫的获取
var myDate = new Date();
myDate.getYear(); // 获取以后年份(2 位)
myDate.getFullYear(); // 获取残缺的年份(4 位,1970-????)
myDate.getMonth(); // 获取以后月份(0-11,0 代表 1 月) // 所以获取以后月份是 myDate.getMonth()+1;
myDate.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(); // 获取以后日期
var mytime=myDate.toLocaleTimeString(); // 获取以后工夫
myDate.toLocaleString(); // 获取日期与工夫
复制代码
21、JS 获取以后工夫戳的办法 -JavaScript 获取以后毫秒工夫戳有以下三种办法
var timestamp =Date.parse(new Date()); 后果:1280977330000 // 不举荐; 毫秒改成了 000 显示

var timestamp =(new Date()).valueOf(); 后果:1280977330748 // 举荐;

var timestamp=new Date().getTime(); 后果:1280977330748 // 举荐;

js 中独自调用 new Date(); 显示这种格局 Mar 31 10:10:43 UTC+0800 2012

然而用 new Date() 参加计算会主动转换为从 1970.1.1 开始的毫秒数
复制代码
总结
如果你感觉此文对你有一丁点帮忙,点个赞。或者能够退出我的开发交换群:1025263163 互相学习,咱们会有业余的技术答疑解惑

如果你感觉这篇文章对你有点用的话,麻烦请给咱们的开源我的项目点点 star: http://github.crmeb.net/u/defu 不胜感激!

正文完
 0