javascript中的关于类型转换的性能优化


Posted in Javascript onDecember 14, 2010

1. 把数字转换成字符串,应用"" + 1,虽然看起来比较丑一点,但事实上这个效率是最高的,性能上来说:("" + ) > String() > .toString() > new String(),尽量使用编译时就能使用的内部操作要比运行时使用的用户操作要快。String()属于内部函数,所以速度很快,而.toString()要查询原型中的函数,所以速度逊色一些,new String()用于返回一个精确的副本。

2. 浮点数转换成整型,这个更容易出错,很多人喜欢使用parseInt(),其实parseInt()是用于将字符串转换成数字,而不是浮点数和整型之间的转换,我们应该使用Math.floor()或者Math.round()。另外,和第二节的对象查找中的问题不一样,Math是内部对象,所以Math.floor()其实并没有多少查询方法和调用的时间,速度是最快的。

3. 对于自定义的对象,如果定义了toString()方法来进行类型转换的话,推荐显式调用toString(),因为内部的操作在尝试所有可能性之后,会尝试对象的toString()方法尝试能否转化。

Javascript 相关文章推荐
代码生成器 document.write()
Apr 15 Javascript
COM中获取JavaScript数组大小的代码
Nov 22 Javascript
js 模拟气泡屏保效果代码
Jul 10 Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
jQuery设置和获取HTML、文本和值示例
Jul 08 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
Jul 27 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
ionic实现可滑动的tab选项卡切换效果
Apr 15 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
May 24 jQuery
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 #Javascript
根据一段代码浅谈Javascript闭包
Dec 14 #Javascript
js保存当前路径(cookies记录)
Dec 14 #Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 #Javascript
Jquery练习之表单验证实现代码
Dec 14 #Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 #Javascript
Juqery Html(),append()等方法的Bug解决方法
Dec 13 #Javascript
You might like
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python计算时间差的方法
2015/05/20 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
python类中super()和__init__()的区别
2016/10/18 Python
Python有序字典简单实现方法示例
2017/09/28 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
详解Python中的Lock和Rlock
2021/01/26 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
经理管理专业自荐信范文
2013/12/31 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
兴趣班停课通知
2015/04/24 职场文书