前端面试之开发中遇到的问题【建议收藏】

N1.
精度问题 0.1+0.2 !=0.3
使用math.js或者big.js解决问题致命!!重视!!!

N2.频繁请求问题
点击按钮发送请求,但是不能疯狂发请求,等到结果返回后可再次发送请求,可以定义一个flag待请求结束打开flag

1.代码习惯 比如写个列表中标签的tag,提前询问后端返回的数据枚举类型,然后定义一个map集合来渲染 页面
前端面试之开发中遇到的问题【建议收藏】_第1张图片
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:[email protected]">发送邮件</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()

你可能感兴趣的:(VUE细节,Vue,前端,vue,javascript)