网页性能优化的javascript性能调整
JavaScript是一种相对完善的前端开发语言,广泛应用于当今的web开发,尤其是Web 2.0。在web 2.0日益普及的今天,我们会发现我们的web应用项目中会有大量的JavaScript代码,未来还会有越来越多的JavaScript代码。作为解释和执行JavaScript的语言,以及它的单线程机制,决定了性能问题是JavaScript的软肋,也是web软件工程师在编写JavaScript时应该高度重视的问题,尤其是对于Web 2.0应用。大多数web软件工程师都遇到过Web 2.0应用程序性能差的问题,这主要是由于JavaScript性能不足和浏览器负载过重造成的。然而,要解决这种解释性单线程语言的性能问题并不容易。本文将主要介绍开发中JavaScript性能调优的一些技巧和最佳实践,以及JavaScript操作DOM节点性能调优的一些方法。它将简要介绍Web开发中经常遇到的性能问题,尤其是对于当今的Web2.0应用程序。JavaScript是当今使用最广泛的Web开发语言。Web应用的性能问题大部分是由程序员编写的JavaScript脚本性能不佳造成的,包括JavaScript语言本身及其与DOM交互的性能问题。本文主要讨论如何尽可能避免此类问题,从而最大限度地提高Web应用程序的性能。JavaScript性能调优JavaScript语言由于其单线程和解释性执行的两大特点,存在很多性能问题,因此还有很多需要改进的地方。Eval的问题:比较以下代码:清单1。eval的问题副本代码如下:varreference={},props=“P1”;eval(参考)道具"=5") var引用={},道具=" p1参考[道具]=5有“eval”的代码比没有“eval”的代码慢100多倍。主要原因是JavaScript代码在执行前会进行预编译:首先会创建一个当前执行环境中的活动对象,var声明的那些变量会被设置为活动对象的属性,但此时这些变量的赋值是未定义的,函数定义的那些函数也会被添加为活动对象的属性,它们的值正好是函数的定义。但是,如果使用“eval”,则“eval”中的代码(实际上是字符串)无法提前识别其上下文,也无法提前解析和优化,即无法预编译。因此,它的性能将大大降低。函数的用法:比较下面的代码:清单2。函数的用法:复制代码如下: varfunc 1=new function(" return arguments[0]arguments[1]);func1(10,20);var func 2=func(){返回参数[0]参数[1]};func2(10,20);类似前面提到的“eval”方法,“func1”的效率比“func2”差很多,所以推荐第二种方法。函数的作用域链:解释并执行JavaScript代码。在进入函数时,它会提前分析当前变量,并将这些变量分为不同的级别。一般来说,局部变量放在1级(浅层),全局变量放在2级(深层)。如果输入“with”或“trycatch”代码块,会增加一个新的层级,即“with”或“catch”中的变量会被放置在最浅的一层(第1层),之前的层级会依次加深。参考下面的代码:清单3。复制函数作用域链的代码如下: varmyobj=..................for(var I=0;一.图像.长度;I){ combine . push(combine(images[I],widget[2 * I]);} myObj.container.proper
版权声明:网页性能优化的javascript性能调整是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。