这是我参与「第五届青训营 」伴学笔记创作活动的第 3、4 天
js编码原则一:各司其责
- HTML/CSS/JS各司其责
- 应当避免不必要的由JS直接操作样式
- 可以用class来表示样式
- 纯展示类交互寻求零JS方案,但不是必须,根据实际开发需求来定
js编码原则二:组件封装
组件是指web页面上抽出来一个个包含模板(html)、样式(css)、功能(js)的单元,好的组件具备封装性、正确性、扩展性、复用性。
js编码原则三:过程抽象
为了能让只执行一次的绣需求覆盖不同的事件处理,我们可以将这个需求剥离出来,这个过程我们称为过程抽象
高阶函数指:
- 以函数作为参数
- 以函数作为返回值
- 常用于函数装饰器
就像这样:
常用的高阶函数:
- Once
- Throttle
- Debounce
- Consumer / 2
- lteraive
js代码优化
比如我们要写一个交通灯案例,那么正常情况下是用setTime来操作,但是因为他是异步的,在要控制的多的情况下就会导致代码要层层嵌套,就像如图:
肯定是不好的,所以我们要去优化他:
就是使用数据抽象的方法把数据抽象出来;
也可以用过程抽象:
在写js的时候,要想把代码写好就要多方面考虑,可以在用得到的时候使用高阶函数,同时写代码时也要注重效率和逻辑性,不仅仅自己看得懂,也要符合常理和逻辑,这样别人也才能看得懂。 算法也是一个前端工程师需要去学习和使用的东西,尽管前端用的不是特别多,但是作为一个程序员我们在书写代码时也可以有算法思想,这样可以提高我们的效率和程序的逻辑※,同时程序不容易出错。