返回顶部
首页 > 资讯 > 前端开发 > VUE >一些前端问题的总结
  • 561
分享到

一些前端问题的总结

2024-04-02 19:04:59 561人浏览 八月长安
摘要

本篇内容主要讲解“一些前端问题的总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“一些前端问题的总结”吧!代码逻辑错误「 人很容易发现别人的错误,而对自己的错误

本篇内容主要讲解“一些前端问题的总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“一些前端问题的总结”吧!

代码逻辑错误

「 人很容易发现别人的错误,而对自己的错误视而不见  」

要想发现代码逻辑的问题,最简单的办法就是看老代码或者看别人的代码。代码逻辑体现的是你对需求的理解,以及你对整个产品逻辑的把控。

比如一个列表的渲染。每一次请求我们都会标记返回的数据列表,记作now_list,然后把列表拼接到现有的列表上面,记作list。当列表底部到页面底部的距离大于一定数值的时候会自动触发请求,加载loading。然后判断当now_list为空的时候,停止自动触发。这是正常的逻辑。

接下来,骚操作来了,把loading的开启条件放在了触发条件里,我们可以记作这个触发的方法为onEndReached,把关闭loading的方法放在了请求方法里。这样导致的结果就是当起始数据量小(比如列表长度为1的时候)的情况下,会不断触发loading,关闭loading,然后进入死循环。然后又一个骚操作来了,因为每次请求的列表数量为4,所以在onEndReached方法里,添加里一个判断条件,当now_list的长度小于4的时候,不开启loading。很简单的问题绕了一个大圈。而且像这种以数字为条件的的代码逻辑,一定要引起警惕。因为这预示着你的代码逻辑不严谨。关于代码逻辑的问题还有多层判断条件的问题,比如报告的生成与查看,查看报告的按钮除了不能在状态1和8展示,其余状态都可以展示;而下载报告的按钮只能在状态5或6展示,分享报告的按钮只能在6展示。无论查看、下载、分享都操作的是同一个按钮。像这种逻辑判断条件多的情况,极易产生错误。

产品需求的错误

「 需求评审,都是一场辩论会,不是说服别人就是被说服 」不要太相信产品,因为他们也会犯错误。总结了一下已知产品需求的错误,分两类:

  • 无用的需求

  • 不合理的需求

先说一下无用的需求,为什么说是无用的,比如上一版做的功能,下一版全部推翻。也就是说,在上一段时间内,你在做无用功,没有对产品产生任何价值。一群人白白耗费了一段时间去做了一件毫无意义的事情。再讲一下不合理的需求,比如买一赠N,在列表中折叠。不管是赠送的订单还是正常的订单,在订单列表中是平铺的。为了解决订单之间的关联关系,给用户呈现层级的展示效果,前端需要做的是把平铺的数据整合成树状结构,然后折叠起来,方便用户查看。列表请求数据条数是一定的,比如4条数据就可以填满屏幕,我们一般会请求5条,以便上拉加载。那么我们可以假设一下场景,比如买一赠7,当我们首先加载完5条数据,并整合成树状结构,折叠起来就变成了一条数据,就会再次触发请求加载,这次我们又加载了5条,不巧的是下一次的正常订单也是买一赠7,前3条数据还是上一条的赠送单,那么我们继续重组数据,现在订单中有两条数据,第一条数据折叠了7条,第二条数据折叠了一条,还会继续触发请求加载,直到屏幕上放满了正常的订单。这个过程会不断的重组数据,并不断的加载loading,关闭loading。专业点的术语可以叫"闪屏"。当然可以把折叠的数据默认展开,这也不失为一个好方法。我承认我们做的一些需求不一定合乎规范,并确实解决了一些问题。但是后期的维护实在太困难,而且不可预料。

场景缺失的错误

「 改bug,最忌讳的就是改一处,制造两处 」

场景缺失的问题,也可以简单的归为两类:

  • 同样问题,只改了一处,其他处没有考虑到

  • 关联问题,只改了有问题的地方,后续产生的问题没有考虑到

前端时间的地址问题确实困扰了一段时间,侧面反应了处理问题不严谨,也反应设计之初没有考虑周全。

省市区的问题,会伴随着传值、回显、提交拼接。问题就出现在了拼接。老数据是直接拼接在一起的,中间没有任何特殊标记,而现在的需求是第三方拿到这个数据无法解析。旧有的逻辑有自己的一套解析机制,但也存在一定的问题,不严谨。所以在已经存在问题的基础修改,注定还是会存在问题。最好的解决办法就是推翻重新制定规则。

当我们在解决问题的时候,一定要考虑此处修改的方案是否会对后续逻辑产生影响,尤其是改别人的代码逻辑,很多问题预料不到,推翻重写成本太大,所以在以后写业务代码的时候一定要解耦,堆在一起的代码,看的实在头疼。

异步错误

代码执行的时机一直以来是一个比较严重的问题,比如我们常常发现的,数据已经请求到了,为什么页面没有显示。

比如React中的setState,更新DOM树是一个很耗时的工作,setState会等一个时机做批量的更新,而不是直接更新。

再比如很多同学想在forEach或map中使用async异步函数,但是不要忘了,你接受的结果也是异步的。

概念理解错误

还有一些错误的因为你对事物本身不了解。

比如前几天面试,有一个女孩说「 我刚用vue3写了一个项目 」,那我就问「 那你Vue3常用的语法有哪些 」,她的回答「 vue add、vue  ui... 」。我当时脑子就大了。

还有群里哥们问的一个问题:

['1','2','3'].map(parseInt) // [1, null, null] ['1','2','3'].map(Number) // [1, 2, 3] ['1','2DDDD','3'].map(parseFloat) // [1, 2, 3]

问:「 为什么parseInt不可以实现转化 」

map接受方法参数是固定,只能减少,不能修改,parseInt接受的两个参数,第二个参数直接被改成了map规定的索引值,再执行parseInt的逻辑,返回的肯定不对了。

换句简单的理解就是parseInt接受的参数被map强行改为了索引:

parseInt('2',1) // NaN parseInt('3',2) // NaN

到此,相信大家对“一些前端问题的总结”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 一些前端问题的总结

本文链接: https://lsjlt.com/news/83535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 一些前端问题的总结
    本篇内容主要讲解“一些前端问题的总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“一些前端问题的总结”吧!代码逻辑错误「 人很容易发现别人的错误,而对自己的错误...
    99+
    2024-04-02
  • mysql5.7字符集的一些问题总结
    本文主要给大家简单讲讲mysql5.7字符集的一些问题,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql5.7字符集的一些问题这篇文章可以给大家带来一...
    99+
    2024-04-02
  • vue中前端代理跨域问题实例总结
    目录前言第一第二第三代码总结前言 这几天在学习vue进行前后端交互时出现了跨域问题,也是经历查文章查文档和自己实践总结才最终解决。这篇文章就对此进行总结,以防忘记,同时也希望能对正在...
    99+
    2024-04-02
  • Redis中一些最常见的面试问题总结
    前言 经过长达一周的奔波和面试,电话面试,回首今天终于成功的入职了,总共面试了大概10家公司,包括阿里,京东,IBM等等,京东技术过了,学历因为非统招就被pass了,阿里面了2次电话面试就没下文了,估计是我...
    99+
    2024-04-02
  • 关于MySQL自增ID的一些小问题总结
    下面这几个小问题都是基于 InnoDB 存储引擎的。 1. ID最大的记录删除后,新插入的记录ID是什么 例如当前表中有ID为1,2,3三条记录,把3删除,新插入记录的ID从哪儿开始? 答案: 从4开始。...
    99+
    2024-04-02
  • vue.js集成echarts时遇到的一些问题总结
    前言 最近在做Beetlex的数据分析平台,在开发这个产品过程中涉及到大量的数据图表展示功能;由于产品前端使用的是vuejs开发,所以在集成echarts或多或少会碰到一些问题,在这...
    99+
    2024-04-02
  • 使用pytorch时所遇到的一些问题总结
    使用pytorch时所遇到的问题总结 1、ubuntu vscode切换虚拟环境 在ubuntu系统上,配置工作区文件夹所使用的虚拟环境。之前笔者误以为只需要在vscode内置的终端...
    99+
    2024-04-02
  • 前端常见的安全问题以及防范措施总结大全
    目录前言前端安全问题跨站脚本攻击(XSS)反射型XSS攻击基于DOM的XSS攻击存储型XSS攻击这几种XSS攻击类型的区别XSS防范措施输入过滤预防存储型和反射型 XSS 攻击预防 ...
    99+
    2024-04-02
  • Zabbix2.4安装和问题总结(一)
    Zabbix2.4安装和问题总结(一)一、安装开发软件包    yum -y groupinstall "Development Tools"二、...
    99+
    2024-04-02
  • 前端面试题总结——Html5(持续更新中)
    前端面试题总结——H5(持续更新中)1.HTML5 为什么只需要写 <!DOCTYPE HTML>?HTML5 需要doctype来规范浏览器的行为,让浏览器按照它们应该的方式来运行;HTML4.01基于SGML,所以需要对DT...
    99+
    2023-06-03
  • 前端知识点总结——HTML
    前端知识点总结——HTMLHTML:HTML4.01 指的就是网页技术HTML5:HTML4.01的升级版本1.web的基础知识web与Internet1.Internet:全球性的计算机互联网络,因特网,互联网,交互网。前端学习圈:767...
    99+
    2023-06-03
  • 前端必备的一些nginx知识点汇总
    目录前言nginx简介反向代理负载均衡动静分离使用和配置安装常用命令配置项目部署配置缓存配置跨域配置gzip压缩配置总结前言 最近在做一个后台项目,需要加载一个大型的的文件,一开始这...
    99+
    2023-03-19
    前端如何配置nginx 前端开发知识点 前端nginx
  • JS利用循环解决的一些常见问题总结
    目录1. 打印0-100中3的倍数2. 在页面中写入 1000-2000年中的闰年3. 打印100以内所有偶数的和4.求出1-1/2+1/3-1/4……1...
    99+
    2024-04-02
  • Python基础常见问题总结(一)
    1.__ foo 、foo_ 和 __foo__ 三者之间的区别是什么?__foo表示私有属性、_foo表示受保护的属性、__foo__表示Python自带的属性 2.请您简述Python编译的工作原理,PyCodeObject 和 Py...
    99+
    2023-01-31
    常见问题 基础 Python
  • 解决vue前后端端口不一致的问题
    vue前后端端口不一致 在config index.js文件中 引入如下代码即可 proxyTable: { '/api': { target: 'http://local...
    99+
    2024-04-02
  • 【吐血总结】前端开发:一文带你精通Vue.js前端框架(四)
    文章目录 前言1️⃣ Vue.js模板语法之指令2️⃣ Vue.js模板语法之用户输入3️⃣ Vue.js模板语法之过滤器4️⃣ 总结 前言 上一篇中我们学习了vue.js 的实例化、...
    99+
    2023-10-18
    前端框架 vue.js 前端 html css javascript vue
  • 一文总结JavaScript中Promise遇到的问题
    目录什么是Promise1. 是否可以使用return 代替 resolve2. 使用throw还是reject?示例1:不会被catch的throw Error示例2:不使用rej...
    99+
    2023-05-18
    JavaScript Promise问题 JavaScript Promise
  • SpringBoot前后端分离解决跨域问题的3种解决方案总结
    目录什么是跨域跨域问题的解决策略三种解决方法总结什么是跨域 想要知道什么是跨域的话,我们可以通过一个小案例简单了解一下跨域的概念:在项目代码编写的时候,我们将前端项目代码和后端的项目...
    99+
    2024-04-02
  • web前端性能优化总结
    本篇内容介绍了“web前端性能优化总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.原则多使用内存,缓...
    99+
    2024-04-02
  • 一些前端基础知识整理汇总
    这篇文章主要介绍“一些前端基础知识整理汇总”,在日常操作中,相信很多人在一些前端基础知识整理汇总问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”一些前端基础知识整理汇总”的疑惑...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作