一篇关于前端开发中字符串与数字常用方法的总结

1 前言

最近在写代码时,使用js方法处理字符串与数字,遇到了一些bug或者是在es6方法使用上耽误了过多的调试时间,在此记录一下,加深一下印象。

2 字符串相关常用方法

2.1 CharAt()与at()的区别

相同点: 都是接收一个数值参数,然后返回一个该字符串数值参数下标的字符

不同点:

  • at()如果传入的数值下标参数超过字符串的长度,那就返回undefined;同比,charAt()返回的是''。
  • at()需要的浏览器兼容版本比chartAt()的高,所以能用charAt()就用chartAt() ,别问我怎么知道的,踩过坑。

2.2 includes()

用法: 接受一个字符串参数,然后判断这个字符串参数是否在目标字符串里面,如果在,则返回true,反之返回false。

一般使用场景: 一般用于校验某段文字是否包含某个词语。

具体使用实例如下:

2.3 substring()与slice()

这两个方法都是可以截取字符串中的某一个片段,不同的是slice可以用于数组,咱现在讨论的是在字符串中的用法。

用法: substring()与slice(),接收两个参数a,b,返回目标字符串下标a到下标b(不包括b)的片段

具体使用实例:

2.4 toLocaleLowerCase()与toLocaleUpperCase()

toLocaleLowerCase()是将字符串转化为小写,toLocaleUpperCase()是将字符串转换为大写,全都转换哦,这个没啥说的,记录一下,因为有用到。

具体使用实例:

3 数字相关常用方法

在此之前,我们先来看一个关于数字处理的经典'bug':0.1+0.2!=0.3

嘿嘿,看似简单的数字,是不是跟我们想象中的不太一样,其实这里涉及到进制问题,如想深究,自行百度。咱就是想说,在处理数字时,需要小心,注意细节,下面记录几个常用的方法:

3.1 Number()

一般用法:如果你确定后端给你返回的是一个数字或者是一个全是数字的字符串,并且想去掉后面多余的小数,不进行4舍5入,可以用这个。

具体使用实例:

3.2 parseInt()

一般用法:第一个参数接受一个字符串类型的数字,然后直接去掉这个字符串的小数,保留其整数,不进行4舍5入,诶?这样一看和Number使用的类似哈。但是它还有一个第二个参数,我们一般用不到就不说了。

具体使用实例:

3.3 parseFloat()

一般用法:可以把一个字符串解析成浮点数。

具体使用实例:

3.4 toFixed()

一般用法:对一个浮点数(数值类型 ),保留n位小数,进行4舍5入,返回为字符类型

具体使用实例:

4 结尾

ok,在开发过程中,我们还会遇到很多细节问题,在于不断地总结,最近觉得设计模式也是很重要的,尤其是面对业务不断地更改,健壮的代码可以接受更多次的业务修改>_<。

相关推荐
敲敲了个代码17 小时前
如何优化批量图片上传?队列机制+分片处理+断点续传三连击!(附源码)
前端·javascript·学习·职场和发展·node.js
@AfeiyuO17 小时前
Vue 引入全局样式scss
前端·vue·scss
光影少年17 小时前
flex布局和grid布局区别,实现两边固定布局中间自适应
前端·css3·web·ai编程
全栈测试笔记17 小时前
异步函数与异步生成器
linux·服务器·前端·数据库·python
EndingCoder18 小时前
配置 tsconfig.json:高级选项
linux·前端·ubuntu·typescript·json
木风小助理18 小时前
JavaStreamAPI的性能审视,优雅语法背后的隐形成本与优化实践
java·前端·数据库
Ophelia(秃头版18 小时前
JS事件循环与NodeJS事件循环(libuv)
开发语言·javascript
white-persist19 小时前
轻松抓包微信小程序:Proxifier+Burp Suite教程
前端·网络·安全·网络安全·微信小程序·小程序·notepad++
敲敲了个代码20 小时前
多标签页强提醒不重复打扰:从“弹框轰炸”到“共享待处理队列”的实战
java·前端·javascript·面试·架构
不想上班只想要钱20 小时前
动态类名在 <swiper-slide 的复制项中没有起作用的解决方法
前端·vue.js