写点什么

前端开发之 JavaScript 优化

  • 2021 年 11 月 29 日
  • 本文字数:1131 字

    阅读完需:约 4 分钟

JavaScript 的高效优化一直都是我们前端开发中非常重要的工作,也是很多开发人员无法做好的一部分内容,今天我总结了 10 个优化问题,大家可以参考来做优化,很多问题都是大家常遇到的。


==和===的区别

应避免在 if 和 while 条件选择语句中的条件判断部分进行赋值,如 if (a = b),应写成 if (a == b),但是在比较是否相等的情况下,最好使用全等运算符,也就是使用===和!==运算符对比==和!=会好点。因为==和!=运算符会进行强制类型转换

不要使用生偏语法

不要使用生偏语法,和写一些让人疑惑的代码,java培训虽然计算机可以正常识别和运行,但是让人难懂的代码不方便后期维护

函数返回统一类型

虽然 JavaScript 是弱类型的,在函数里,前面返回是整数型数据,后面返回布尔值都可以正常的编译和运行的,但为了规范和后期维护,应保证函数返回统一的数据类型

总是检查数据类型

要检查你的方法传入的参数,一方面是安全性,另一方面是可实用性。用户随时都有可能会误操作传入错误的数据。这不是因为他们的问题,而是因为他们的思维方式和使用习惯和你不一样。所以可以使用 typeof 方法来帮助你检测 function 接受的参数是否合法

何时用单引号,何时用双引号

在 JavaScript 当中,虽然双引号和单引号都可以用来表示字符串, 但是为了避免混乱,所以我们建议在 HTML 中使用双引号,在 JavaScript 中使用单引号。不过为了兼容各个浏览器,也为了解析时不会出错,定义 JSON 对象时,最好使用双引号

删除 DOM 节点

删除 DOM 节点之前,记住要删除注册在该节点上的事件,不管是用 observe 方式还是用 attachEvent 方式来注册的事件,否则会出现无法回收的内存。此外,在 removeChild 和 innerHTML=’ ’这两个,尽量选择第二个. 因为在 sIEve(内存泄露监测工具)中监测的结果是用 removeChild 无法有效地释放 DOM 节点

多个类型声明

在 JavaScript 中所有变量都可以使用单个 var 语句来声明,这样就是组合在一起的语句,可以减少整个脚本的执行时间。

插入迭代器

如 var name=values[i]; i++;这两条语句可以写成 var name=values[i++]

浮点数转换成整型

很多人经常喜欢使用 parseInt()来做转成整数,其实 parseInt()是用于将字符串转换成整数的,而不是用于浮点数和整型之间转换的。浮点转整型我们应该使用 Math.floor()或者 Math.round()

避免双重解释

要提高代码性能,就尽可能避免出现需要按照 JavaScript 解释的字符串,也就是

1.尽可能少使用 eval 函数

使用 eval 相当于在运行时再次调用解释引擎对内容进行运行,需要消耗大量时间。同时,使用 Eval 带来的安全性问题也是不容忽视的。

2.不使用 Function 构造器

不要给 setTimeout 或者 setInterval 传递字符串参数

最后,建议大家永远不要忽略代码优化工作,重构是一项从项目开始到结束需要持续的工作,只有不断的优化代码才能让代码的执行效率越来越好。

原创作者:WEB 前端老李

用户头像

关注尚硅谷,轻松学IT 2021.11.23 加入

还未添加个人简介

评论

发布
暂无评论
前端开发之JavaScript优化