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 相关文章推荐
javascript 精粹笔记
May 09 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 Javascript
jquery根据锚点offset值实现动画切换
Sep 11 Javascript
JavaScript中的substr()方法使用详解
Jun 06 Javascript
深入学习JavaScript中的原型prototype
Aug 13 Javascript
利用JS实现数字增长
Jul 28 Javascript
详解angularJs中自定义directive的数据交互
Jan 13 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
JS实现将二维数组转为json格式字符串操作示例
Jul 12 Javascript
JavaScript实现简单日历效果
Sep 11 Javascript
JavaScript实现打字游戏
Feb 19 Javascript
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打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
Python正则表达式的使用范例详解
2014/08/08 Python
详细讲解Python中的文件I/O操作
2015/05/24 Python
Python构建XML树结构的方法示例
2017/06/30 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
numpy中的高维数组转置实例
2018/04/17 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Django之路由层的实现
2019/09/09 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
AJAX的优缺点都有什么
2015/08/18 面试题
社区敬老月活动实施方案
2014/02/17 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
初二物理教学反思
2016/02/19 职场文书
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server