[Java教程]Javascript高性能代码(一)

0

2013-03-09 22:00:11

分享说明:

1. 我先申明,我只是茫茫WEB前端开发人员中的一名普通的js程序员,我收集的和总结的代码未必就一定是性能最好的,可能会是性能最差的,希望看到这篇博客的朋友能够对我的错误进行批评指正。

2. 随着代码效率的提升,难免可读性降低,因此使用还是应该多多权衡。

谢谢!

一、条件判断类(以下的a都默认是boolean类型): 1. 常规代码

if(a) { b = 'a是true';} else { b = 'a是false';}

2. 三元运算符b = a ? 'a是true':'a是false';

3. 个人觉得性能最优代码b = a && 'a是true' || 'a是false';

二、 数组的连接(a和b均为数组)1. 使用concat方法

a.concat(b)

2. 使用循环push(性能应该最差,不写具体代码了,估计没有人这么干)

3. 使用栈方法push(此方法性能最高,若有兴趣可以测试看看)Array.prototype.push.apply(a, b);

三、 对于确定类型并且确定值的判断(a和b均是js变量),比如:keydown事件中的keyCode的比较1. 使用等号==(该表达式会默认对类型进行转换)

a == b

2. 使用全等运算符===(该表达式不会进行类型转换,直接看类型,若不同类型返回false,否则比较值是否相等)

a === b

四、 字符串连接(当一次会进行很多次循环操作的时候)1. 使用+连接,由于每次都会在连接的时候创建另一个字符串对象,因此性能较低(目前某些浏览器进行了优化,但是对于IE浏览器,性能依旧很低);

var a = '', b = 10000;while( b-- > 0) {a += '我是第' + (10000 – b) + '次操作\r\n';}

2. 在循环中将字符串添加到一个数组中,循环结束后使用数组的join方法,这样就不会在每次字符串连接的过程中创建另一个临时对象,因此性能显著提升。var a = [], b = 10000;while( b-- > 0) {a.push('我是第', 10000-b, '次操作\r\n');}

五、 取整运算,已知a为数字类型1. 常规方法Math.floor(a)

2. 两次取反(该方法必须先确定a为数字类型,否则运行时会报错,不会返回NaN)~~a

本文网址:http://www.shaoqun.com/a/55502.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JavaScript

0

java 高性能代码_[Java教程]Javascript高性能代码(一)相关推荐

  1. java js 转换_[Java教程]javascript 类型转换。

    [Java教程]javascript 类型转换. 0 2016-10-11 18:00:06 目录: 1 : 伪对象 2 : 转换为字符串 3 : 数字转字符串 4 : 转换为数字 5 : 转换为Bo ...

  2. java with关键字_[Java教程]javascript 里面 with 关键字

    [Java教程]javascript 里面 with 关键字 0 2016-02-18 11:00:02 1.with的基本概念 with语句的作用是将代码的作用域设置到一个特定的作用域中,目的是为了 ...

  3. java中分支_[Java教程]JavaScript中的分支结构

    [Java教程]JavaScript中的分支结构 0 2016-06-30 23:03:37 说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的 ...

  4. JAVA圣诞代码_[Java教程]【Merry Christmas】圣诞节,给博客添加浪漫的下雪效果!...

    [Java教程][Merry Christmas]圣诞节,给博客添加浪漫的下雪效果! 0 2012-12-25 15:00:20 一年一度的圣诞节又到了,首先祝大家好运一串串,健康一年年,平安到永远! ...

  5. java全景图片生成_[Java教程]使用Javascript来创建一个响应式的超酷360度全景图片查看幻灯效果...

    [Java教程]使用Javascript来创建一个响应式的超酷360度全景图片查看幻灯效果 0 2015-07-23 18:00:14 360度的全景图片效果常常可以用到给客户做产品展示,今天这里我们 ...

  6. java关于泛型的实验代码_[ Java学习 ] 泛型类的应用实验

    成文原因: 这篇文章是我这周所做的 Java 实验题的一个小总结. 这次实验让我深刻赞同了我们 Java 老师在这节实验课前告诉我们的话: 最重要的是把问题想明白,它要怎么拆分成几个类,每个类里究竟需 ...

  7. java小朋友猜拳_[Java教程]Java猜拳小游戏(剪刀、石头、布)

    [Java教程]Java猜拳小游戏(剪刀.石头.布) 0 2015-09-29 08:00:04 import java.util.Random;import java.util.Scanner;pu ...

  8. java词频统计简单带代码_简单的词频统计代码实现(PDF格式)

    周末抽空帮同学论文写了一段统计词频的代码,做个简单总结.出于职业病,代码使用Springboot+Maven搭建,面向抽象编程,并通过web请求控制执行. 依赖配置 org.springframewo ...

  9. java斗地主发牌代码_[Java源码]扑克牌——斗地主发牌实现

    --------------------------------------- --------------------------------------- ----------一个扑克牌核心和简单 ...

最新文章

  1. 1.4-puppet配置证书
  2. MSP430 苦逼学习日志
  3. python实战经典例子_Python基础之列表常见操作经典实例详解
  4. 初识OneNote 2016
  5. MFC主线程使用WaitForSingleObject阻塞的问题
  6. 如何打造一款极速数据湖分析引擎
  7. 用‘栈’的思想编写一个十进制转换二进制、八进制或十六进制的程序
  8. UVA11565 Simple Equations【数学+暴力】
  9. Abstract class 与Interface 抽象类和接口
  10. [转]关闭不必要端口 让电脑固若金汤
  11. MySQL的my.cnf详细配置说明
  12. 报错 | error ‘App‘ is not defined no-undef
  13. LOJ #10005. 「一本通 1.1 练习 1」数列极差
  14. Datawhale组队学习周报(第028周)
  15. 【NOIP2017提高组正式赛】列队
  16. 元旦带听泉登王子山游芙蓉沟
  17. 计算机二级Word第四套
  18. 文件批量下载工具(自己用QT编写)
  19. jmeter上传图片报错:org.apache.catalina.connector.RequestFacade cannot be cast to org
  20. 电感参数+如何选取电感

热门文章

  1. 系统视图和用户视图的区别_读书笔记——数据库系统概论
  2. MySQL常用命令用法总结
  3. JavaScript知识点之:delete操作符
  4. 基于live555开发嵌入式linux系统的rtsp直播服务
  5. C++ Primer 第二章 学习笔记及习题答案
  6. Oracle RAC Brain Split Resolution
  7. django url 中的namespace详解
  8. SQLSTATE[HY000] [2013] Lost connection to MySQL...
  9. C# 邮件类 Mailmessage
  10. 任务计划中的结果代码