提高JavaScript效率的编程实践 偏执的太偏执、 2022-05-30 12:42 157阅读 0赞 # 1、避免双重求值 # 使用evel()和Function()构造器时,使得在JavaScript代码中执行另一段JavaScript代码,因此会导致双重求值的性能消耗。 ## 1) eval()例子比较: ## var array=['first','second','third']; console.time() var item=eval("array[0]") console.timeEnd() console.time() var item=array[0] console.timeEnd() 运行时间依次为: ![20180312195520261][] ## 2) Function() 构造器例子比较: ## var num1=5,num2=6; function sum1(x,y){ return x+y }//函数声明 var sum2=new Function('x','y','return x+y')//函数构造器 console.time() sum1(num1+num2) console.timeEnd() console.time() sum2(num1+num2)// console.timeEnd() 运行时间依次为: ![20180312195904790][] 由此看出,双重求值导致运行时间为原来的近5倍长。 ## 3) setTimeout()和setInterval()的参数 ## 两者应该传递函数作为参数,而不是字符串 var num1=5,num2=6,sum; console.time() setTimeout("sum=num1+num2",0)//字符串参数 console.timeEnd() console.time() setTimeout(function(){var sum=num1+num2},0)//函数参数 console.timeEnd() ![20180312200310804][] # 2、优化数据创建方式和数据格式 # ## 1) 创建方式 ## 使用数据构造器创建数据的速度很慢,尽量使用直接量创建对象和数组等数据。 console.time() var array=new Array('first','second','third')//构造器创建数组 console.timeEnd() console.time() var array=['first','second','third'];//直接量创建数组 console.timeEnd() ![20180312200921748][] ## 2)数据格式 ## JSON是一种用对象和数组直接量编写的轻量级且易于解析的数据格式,目前是广泛使用的一种数据格式。然而,以不同的方式创建的JSON数据,在开发过程中的访问性能有明显的不同。 console.time() //标准方式,可读性好 var json=[ {'id':1,'username':'user1','passwd':'root1'}, {'id':2,'username':'user2','passwd':'root2'}, {'id':3,'username':'user3','passwd':'root3'} ] console.timeEnd() console.time() //简化方式,可读性较差,但是速度有略微提升 var json=[ {'i':1,'u':'user1','p':'root1'}, {'i':2,'u':'user2','p':'root2'}, {'i':3,'u':'user3','p':'root3'} ] console.timeEnd() console.time() //数组方式,无属性名,可读性更差,但是文件尺寸小得多,且性能更快 var json=[ [1,'user1','root1'], [2,'user2','root2'], [3,'user3','root3'] ] console.timeEnd() 运行速度比较: ![20180312202050461][] **数据格式按照耗时从大到小排序:** 标准XML > 标准的HSON-P > 简化的XML > 标准的JSON > 简化的JSON > 简化的JSON-P > 数组JSON > 数组JSON-P > 自定义格式(脚本注入) > 自定义格式(XHR) 自己可以通过以下链接进行测试:***http://techfoolery.com/formats/*** # 3、在进行数学计算时,考虑使用二进制形式的位运算 # 例如,判断整数的奇偶, var num=1 console.time() if(num % 2){ console.log('数学运算符计算结果:奇数') }else{ console.log('偶数') } console.timeEnd() console.time() if(num & 1){ console.log('二进制位运算计算结果:奇数') }else{ console.log('偶数') } console.timeEnd() ![20180312204449528][] # 4、原生方法最快 # //jQuery console.time() $('.wrap').html('content') console.timeEnd() //querySelector() console.time() document.querySelector('.wrap').innerHTML='content' console.timeEnd() //querySelectorAll() console.time() document.querySelectorAll('.wrap')[0].innerHTML='content' console.timeEnd() //document.getElementsByClassName() console.time() document.getElementsByClassName('wrap')[0].innerHTML='content' console.timeEnd() ![20180312205400145][] [20180312195520261]: /images/20220530/91c44edf32cd481e946ec4c67c413e57.png [20180312195904790]: /images/20220530/d6be5c339d02486790f24467d635e117.png [20180312200310804]: /images/20220530/9ad2affcba9f49d784bcabd9b9085f2d.png [20180312200921748]: /images/20220530/668b560cfa5b4882b7c2dc07b1ddd2fc.png [20180312202050461]: /images/20220530/1039713844ce40958a9bebe60692e955.png [20180312204449528]: /images/20220530/b64e144899034af894310e5d5574f3d0.png [20180312205400145]: /images/20220530/52733b51b71544bbbaacee754dcb58a6.png
相关 性能优化实践:Java提高程序效率的方法实例 在Java中,提高程序效率的方法有很多。以下是一些具体实例: 1. **避免冗余计算**: - 例如,如果你的代码需要计算一个列表的所有元素之和,你可以使用`sum(l 矫情吗;*/ 2024年09月11日 23:00/ 0 赞/ 25 阅读
相关 提高PHP编程效率的12条诀窍 如何提高PHP编程的效率?今天为您送来学php编程的干货知识。 1.、用单引号取代双引号来包含字符串,这样做会更快一些。由于PHP会在双引号包抄的字符串中征采变量,单引号 傷城~/ 2024年04月03日 10:40/ 0 赞/ 38 阅读
相关 如何提高PHP编程的效率 ![aa6206cc2fbff63015862a739f16e1f3.jpeg][] 转自:[微点阅读][Link 1] [https://www.weidianyuedu. r囧r小猫/ 2024年03月26日 22:02/ 0 赞/ 29 阅读
相关 提高效率的方法 1.固定时间做一件事:就像写微博,每天早上起来,先写几条,养成了习惯,大脑会自动运行。另外上午9点到11点,下午2点到4点,是精力最充沛的时候,可以做重要工作。 2.劳逸结 ゞ 浴缸里的玫瑰/ 2023年08月17日 16:23/ 0 赞/ 108 阅读
相关 学会使用代码片段提高编程效率 Table of Contents 1. 使用代码片段提高编程效率 1. UltiSnips is the ultimate solution fo ╰半夏微凉°/ 2022年09月04日 10:53/ 0 赞/ 127 阅读
相关 19个javascript提高编码效率技巧 1. 三元运算符 当你想用一行代码来写`if...else`语句的时候,使用三元操作符是非常好的选择,例如: const x = 20; let ans 水深无声/ 2022年06月10日 20:45/ 0 赞/ 225 阅读
相关 提高JavaScript效率的编程实践 1、避免双重求值 使用evel()和Function()构造器时,使得在JavaScript代码中执行另一段JavaScript代码,因此会导致双重求值的性能消耗。 偏执的太偏执、/ 2022年05月30日 12:42/ 0 赞/ 158 阅读
相关 提高PHP编程效率的53个要点 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字 符串中 搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“ 待我称王封你为后i/ 2022年02月03日 16:55/ 0 赞/ 219 阅读
相关 5个提高编程效率的工作环境 程序员的创造力和创新已然成为企业发展的一个非常重要的内容,所以现在我们越来越注重于创造一种能够促进创新行为的环境。 现在我们可以发现有些工作场所已经布置了桌球和沙包,在墙上喷 妖狐艹你老母/ 2021年07月04日 14:21/ 0 赞/ 444 阅读
还没有评论,来说两句吧...