本文主要介绍一些 JS 中用到的小技巧,可以在日常 Coding 中提升幸福度。接下来就由石家庄网站建设工程师详细的讲解一下。
1 string 强制转换为数字
可以用 *1来转化为数字(实际上是调用 .valueOf方法)。
然后使用 Number.isNaN 来判断是否为 NaN,或者使用 a!==a 来判断是否为 NaN,因为 NaN!==NaN。
常用: 也可以使用 + 来转化字符串为数字。
2 object强制转化为string
可以使用 字符串+Object 的方式来转化对象为字符串(实际上是调用 .toString() 方法)。
对象通过 valueOf 方法强制转换为数字,通过 toString 方法强制转换为字符串。
3 使用 Boolean 过滤数组中的所有假值
我们知道 JS 中有一些假值:false, null, 0, "", undefined, NaN,怎样把数组中的假值快速过滤呢?可以使用 Boolean 构造函数来进行一次转换。
4 双位运算符 ~~
可以使用双位操作符来替代正数的 Math.floor(),替代负数的 Math.ceil()。双否定位操作符的优势在于它执行相同的操作运行速度更快。
不过要注意,对正数来说 ~~ 运算结果与 Math.floor() 运算结果相同,而对于负数来说与 Math.ceil()的运算结果相同:
5 短路运算符
我们知道逻辑与 && 与逻辑或 || 是短路运算符,短路运算符就是从左到右的运算中前者满足要求,就不再执行后者了;
可以理解为:
&& 为取假运算,从左到右依次判断,如果遇到一个假值,就返回假值,以后不再执行,否则返回最后一个真值。
|| 为取真运算,从左到右依次判断,如果遇到一个真值,就返回真值,以后不再执行,否则返回最后一个假值。
因此可以用来做很多有意思的事,比如给变量赋初值:
如果 variable1 是真值就直接返回了,后面短路就不会被返回了,如果为假值,则会返回后面的 foo。
也可以用来进行简单的判断,取代冗长的 if 语句:
如果 param 为真值则返回 param.prop 属性,否则返回 param 这个假值,这样在某些地方防止 param 为 undefined 的时候还取其属性造成报错。
以上关于js技巧分享属石家庄网站建设工程师的个人观点,大家如果对此有着不同的见解,可以关注公众号“尚武科技派”给我留言,大家可以交流一下自己的心得体会,共同学习进步。