java 高性能代码_[Java教程]Javascript高性能代码(一)
[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高性能代码(一)相关推荐
- java js 转换_[Java教程]javascript 类型转换。
[Java教程]javascript 类型转换. 0 2016-10-11 18:00:06 目录: 1 : 伪对象 2 : 转换为字符串 3 : 数字转字符串 4 : 转换为数字 5 : 转换为Bo ...
- java with关键字_[Java教程]javascript 里面 with 关键字
[Java教程]javascript 里面 with 关键字 0 2016-02-18 11:00:02 1.with的基本概念 with语句的作用是将代码的作用域设置到一个特定的作用域中,目的是为了 ...
- java中分支_[Java教程]JavaScript中的分支结构
[Java教程]JavaScript中的分支结构 0 2016-06-30 23:03:37 说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的 ...
- JAVA圣诞代码_[Java教程]【Merry Christmas】圣诞节,给博客添加浪漫的下雪效果!...
[Java教程][Merry Christmas]圣诞节,给博客添加浪漫的下雪效果! 0 2012-12-25 15:00:20 一年一度的圣诞节又到了,首先祝大家好运一串串,健康一年年,平安到永远! ...
- java全景图片生成_[Java教程]使用Javascript来创建一个响应式的超酷360度全景图片查看幻灯效果...
[Java教程]使用Javascript来创建一个响应式的超酷360度全景图片查看幻灯效果 0 2015-07-23 18:00:14 360度的全景图片效果常常可以用到给客户做产品展示,今天这里我们 ...
- java关于泛型的实验代码_[ Java学习 ] 泛型类的应用实验
成文原因: 这篇文章是我这周所做的 Java 实验题的一个小总结. 这次实验让我深刻赞同了我们 Java 老师在这节实验课前告诉我们的话: 最重要的是把问题想明白,它要怎么拆分成几个类,每个类里究竟需 ...
- java小朋友猜拳_[Java教程]Java猜拳小游戏(剪刀、石头、布)
[Java教程]Java猜拳小游戏(剪刀.石头.布) 0 2015-09-29 08:00:04 import java.util.Random;import java.util.Scanner;pu ...
- java词频统计简单带代码_简单的词频统计代码实现(PDF格式)
周末抽空帮同学论文写了一段统计词频的代码,做个简单总结.出于职业病,代码使用Springboot+Maven搭建,面向抽象编程,并通过web请求控制执行. 依赖配置 org.springframewo ...
- java斗地主发牌代码_[Java源码]扑克牌——斗地主发牌实现
--------------------------------------- --------------------------------------- ----------一个扑克牌核心和简单 ...
最新文章
- 1.4-puppet配置证书
- MSP430 苦逼学习日志
- python实战经典例子_Python基础之列表常见操作经典实例详解
- 初识OneNote 2016
- MFC主线程使用WaitForSingleObject阻塞的问题
- 如何打造一款极速数据湖分析引擎
- 用‘栈’的思想编写一个十进制转换二进制、八进制或十六进制的程序
- UVA11565 Simple Equations【数学+暴力】
- Abstract class 与Interface 抽象类和接口
- [转]关闭不必要端口 让电脑固若金汤
- MySQL的my.cnf详细配置说明
- 报错 | error ‘App‘ is not defined no-undef
- LOJ #10005. 「一本通 1.1 练习 1」数列极差
- Datawhale组队学习周报(第028周)
- 【NOIP2017提高组正式赛】列队
- 元旦带听泉登王子山游芙蓉沟
- 计算机二级Word第四套
- 文件批量下载工具(自己用QT编写)
- jmeter上传图片报错:org.apache.catalina.connector.RequestFacade cannot be cast to org
- 电感参数+如何选取电感
热门文章
- 系统视图和用户视图的区别_读书笔记——数据库系统概论
- MySQL常用命令用法总结
- JavaScript知识点之:delete操作符
- 基于live555开发嵌入式linux系统的rtsp直播服务
- C++ Primer 第二章 学习笔记及习题答案
- Oracle RAC Brain Split Resolution
- django url 中的namespace详解
- SQLSTATE[HY000] [2013] Lost connection to MySQL...
- C# 邮件类 Mailmessage
- 任务计划中的结果代码