JavaScript的高效优化一直都是咱们前端开发中很是重要的工做,也是不少开发人员没法作好的一部份内容,今天我总结了10个优化问题,你们能够参考来作优化,这其中不少问题都是你们常常遇到的哦。前端
应避免在if和while条件选择语句中的条件判断部分进行赋值,如if (a = b),应写成if (a == b),可是在比较是否相等的状况下,最好使用全等运算符,也就是使用===和!==运算符对比==和!=会好点。由于==和!=运算符会进行强制类型转换。浏览器
不要使用生偏语法,和写一些让人疑惑的代码,虽然计算机能够正常识别和运行,可是让人难懂的代码不方便后期维护。安全
虽然JavaScript是弱类型的,在函数里,前面返回是整数型数据,后面返回布尔值均可以正常的编译和运行的,但为了规范和后期维护,应保证函数返回统一的数据类型。函数
要检查你的方法传入的参数,一方面是安全性,另外一方面是可实用性。用户随时都有可能会误操做传入错误的数据。这不是由于他们的问题,而是由于他们的思惟方式和使用习惯和你不同。因此可使用typeof方法来帮助你检测function接受的参数是否合法。工具
在JavaScript当中,虽然双引号和单引号均可以用来表示字符串, 可是为了不混乱,因此咱们建议在HTML中使用双引号,在JavaScript中使用单引号。不过为了兼容各个浏览器,也为了解析时不会出错,定义JSON对象时,最好使用双引号。性能
删除DOM节点以前,记住要删除注册在该节点上的事件,不论是用observe方式仍是用attachEvent方式来注册的事件,不然会出现没法回收的内存。此外,在removeChild和innerHTML=’ ’这两个,尽可能选择第二个. 由于在sIEve(内存泄露监测工具)中监测的结果是用removeChild没法有效地释放DOM节点。优化
在JavaScript中全部变量均可以使用单个var语句来声明,这样就是组合在一块儿的语句,能够减小整个脚本的执行时间。3d
如var name=values[i]; i++;这两条语句能够写成var name=values[i++]cdn
不少人常常喜欢使用parseInt()来作转成整数,其实parseInt()是用于将字符串转换成整数的,而不是用于浮点数和整型之间转换的。浮点转整型咱们应该使用Math.floor()或者Math.round()。对象
要提升代码性能,就尽量避免出现须要按照JavaScript解释的字符串,也就是:
1.尽量少使用eval函数
使用eval至关于在运行时再次调用解释引擎对内容进行运行,须要消耗大量时间。同时,使用Eval带来的安全性问题也是不容忽视的。
2.不使用Function构造器
不要给setTimeout或者setInterval传递字符串参数