数码资讯
客户端JS性能优化
下面是关于客户端js性能的一些优化: 1。对JS的循环,循环是一种常见的过程control.js提供三种周期:为(;;),而(),和(在)。在这三个周期,效率为(在)是最差的,因为它需要查询哈希键,所以(在)周期应尽量少用,并表现为(())虽然(周期)基本上是平的,当然,如果循环变量递增或递减,在循
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
下面是关于客户端js性能的一些优化:
1。对JS的循环,循环是一种常见的过程control.js提供三种周期:为(;;),而(),和(在)。在这三个周期,效率为(在)是最差的,因为它需要查询哈希键,所以(在)周期应尽量少用,并表现为(())虽然(周期)基本上是平的,当然,如果循环变量递增或递减,在循环变量赋值中不单独使用,则建议使用for循环,应该使用嵌套的++或-运算符。
2、如果你需要遍历数组,你应该先缓存数组长度为len = arr.length VaR;(i = 0;我< len;i++),将数组的长度在局部变量数组的长度,避免多个查询。
3、局部变量的访问速度比全局变量快,因为全局变量实际上是窗口对象的成员,而局部变量则放在函数栈中。
4。使用eval尽可能小,它需要很多时间,每次使用eval,尤其在循环,JSON {我} {变量} = 1;这样的声明不能使用eval。
5。尽量避免嵌套查询,这一说法obj1.obj2.obj3.obj4,至少3次查询操作的需要,检查obj1包含obj2,然后检查是否包含OBJ3 obj 2,然后检查是否包含obj4 OBJ3…这不是一个好的策略。你应该尽量使用局部变量与局部变量保存obj4避免嵌套查询。
6。运算符,尝试使用+、、、、、、运算符,而不是直接赋值。
7。当数量需要转换角色,以下是:+ 1。从性能的角度来看,当数字转换为字符,有以下公式:(+)>字符串()>。ToString()>新的字符串(String()。)属于内部功能,所以它是非常fast.and.tostring()想在原型函数查询,所以速度较小,和新的字符串()需要重新创建一个字符串对象,最慢。
8。当浮点数是需要被转换为整数,Math.floor()或Math.round()应该被使用。而不是使用parseInt(),该方法用于将字符串转换成数字,数学是一种内在的对象,所以Math.floor()其实没有太多的查询方法和时间打电话,和速度是最快的。
9。尝试创建一个对象以JSON格式代替var obj =新的对象()方法,因为前者是直接复制,后者需要调用构造函数,所以前者是更好的。
10,当你需要使用数组,你也尝试使用JSON格式,即语法,使用下面的语法来定义数组:{ parrm参数,参数,…}而不是使用新的数组(parrm参数,参数,…)这个语法。因为使用JSON格式的语法由发动机直接解释。后者需要调用数组的构造函数。
11。字符串循环,如替换和查找,使用正则表达式。因为js的速度比较慢,正则表达式的操作是用C编写的API,性能更好。
最后,对于大型JS对象,有一个基本原则,因为创建时间和空间的时间和空间要昂贵得多,所以我们应该考虑尽可能多地使用缓存。
1。对JS的循环,循环是一种常见的过程control.js提供三种周期:为(;;),而(),和(在)。在这三个周期,效率为(在)是最差的,因为它需要查询哈希键,所以(在)周期应尽量少用,并表现为(())虽然(周期)基本上是平的,当然,如果循环变量递增或递减,在循环变量赋值中不单独使用,则建议使用for循环,应该使用嵌套的++或-运算符。
2、如果你需要遍历数组,你应该先缓存数组长度为len = arr.length VaR;(i = 0;我< len;i++),将数组的长度在局部变量数组的长度,避免多个查询。
3、局部变量的访问速度比全局变量快,因为全局变量实际上是窗口对象的成员,而局部变量则放在函数栈中。
4。使用eval尽可能小,它需要很多时间,每次使用eval,尤其在循环,JSON {我} {变量} = 1;这样的声明不能使用eval。
5。尽量避免嵌套查询,这一说法obj1.obj2.obj3.obj4,至少3次查询操作的需要,检查obj1包含obj2,然后检查是否包含OBJ3 obj 2,然后检查是否包含obj4 OBJ3…这不是一个好的策略。你应该尽量使用局部变量与局部变量保存obj4避免嵌套查询。
6。运算符,尝试使用+、、、、、、运算符,而不是直接赋值。
7。当数量需要转换角色,以下是:+ 1。从性能的角度来看,当数字转换为字符,有以下公式:(+)>字符串()>。ToString()>新的字符串(String()。)属于内部功能,所以它是非常fast.and.tostring()想在原型函数查询,所以速度较小,和新的字符串()需要重新创建一个字符串对象,最慢。
8。当浮点数是需要被转换为整数,Math.floor()或Math.round()应该被使用。而不是使用parseInt(),该方法用于将字符串转换成数字,数学是一种内在的对象,所以Math.floor()其实没有太多的查询方法和时间打电话,和速度是最快的。
9。尝试创建一个对象以JSON格式代替var obj =新的对象()方法,因为前者是直接复制,后者需要调用构造函数,所以前者是更好的。
10,当你需要使用数组,你也尝试使用JSON格式,即语法,使用下面的语法来定义数组:{ parrm参数,参数,…}而不是使用新的数组(parrm参数,参数,…)这个语法。因为使用JSON格式的语法由发动机直接解释。后者需要调用数组的构造函数。
11。字符串循环,如替换和查找,使用正则表达式。因为js的速度比较慢,正则表达式的操作是用C编写的API,性能更好。
最后,对于大型JS对象,有一个基本原则,因为创建时间和空间的时间和空间要昂贵得多,所以我们应该考虑尽可能多地使用缓存。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。