经典案例推广高端H5电商设计公司联系报价
QQ联系
微信联系
手机联系
QQ联系
微信联系
手机联系

前端开发中10个有关JavaScript优化问题

发布时间:2019-09-06
发布者:eidea
浏览次数:7743
JavaScript的高效优化一直都是我们前端开发中非常重要的工作,也是很多开发人员无法做好的一部分内容,所以今天我总结了10个优化问题,大家可以参考来做优化,大部分问题都是大家常遇到的。



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

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

2、= =和= = =之间的区别

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

3、经常检查数据类型

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

4、函数返回统一类型

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

5、不要使用生偏语法

 不要使用偏见语法,写一些令人困惑的代码。虽然计算机可以正常识别和运行,但这些难理解的代码不便于以后的维护。

6、删除DOM节点

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

7、插入迭代器

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

8、浮点数转换成整型

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

9、多个类型声明

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

10、避免双重解释

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



①.尽可能少使用eval函数

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

②.不使用Function构造器

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

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

网站案例欣赏

领奥集团

响应式集团网站建设

海信(海外站)

响应式企业官网

合众生物股份

响应式企业网站