N1.
精度问题 0.1+0.2 !=0.3
使用math.js或者big.js解决问题致命!!重视!!!
N2.频繁请求问题
点击按钮发送请求,但是不能疯狂发请求,等到结果返回后可再次发送请求,可以定义一个flag待请求结束打开flag
1.代码习惯 比如写个列表中标签的tag,提前询问后端返回的数据枚举类型,然后定义一个map集合来渲染 页面
2.git命令 git rebase命令
3.微前端后退失效
4.map方法和Object.assign() 如果属性值是一个基本数据类型 属于深拷贝,如果是一个复杂数据类型属于浅拷贝
5.双下拉框联动效果bug:页面跳转携带参数,根据参数设置下拉框中的内容,
注意⚠️:这里两个下拉框有联动效果,会出现改变第一个下拉框的内容时第二个下拉框直接显示对应的value,这个问题的解决是靠:
监听第一个下拉框的变化,如果变化了直接让第二个选择框变成全部,
如果没有全部这个选项,可以一点点匹配(很麻烦,不如加个全部选
项和都断沟通然后value设置成0)
6.- 404的页面大部分原因是接口写错了,参数传的不对,但是后端如果没有部署资源请求也是404,找不到后端提供的资源。。。。。。
7.- 响应式原理:对于数组和对象的处理方式!!切记!!!
8.- 多行溢出
- `display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;`
- 比如点击页面上的电话号码,可直接提示拨号;
- 比如点击页面上的短信,可直接提示发短信;
- 比如点击页面上的邮箱,可直接提示发邮件;
1、<a href="tel:400-888-6633">拨打电话</a>
2、<a href="sms:19956321564">发送短信</a>
3、<a href="mailto:mail@mail.com">发送邮件</a>
10.千分位分割符,
/(\d)(?=(?:\d{3})+\b)/g
("7890789.0").replace(/\d(?=(?:\d{3})+\b)/g, '$&,')
或者:
原生js写法:
先split('') 后reverse()然后"987654321".replace(/(\d{3})/g,'$1,')
判断一下 如果最后一项是逗号删除最后一项使用
a.slice(0,a.length-1) 如果不是原样输出
然后再进行reverse() 然后再 join()