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 相关文章推荐
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
借助script进行Http跨域请求:JSONP实现原理及代码
Mar 19 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
原生js实现类似fullpage的单页/全屏滚动
Jan 22 Javascript
从零学习node.js之文件操作(三)
Feb 21 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
Apr 14 Javascript
微信小程序 转发功能的实现
Aug 04 Javascript
JavaScript使用FileReader实现图片上传预览效果
Mar 27 Javascript
使用socket.io实现简单聊天室案例
Jan 02 Javascript
angularjs数组判断是否含有某个元素的实例
Feb 27 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 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
我的论坛源代码(二)
2006/10/09 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP常用数组函数介绍
2014/07/28 PHP
实例讲解php实现多线程
2019/01/27 PHP
javascript new fun的执行过程
2010/08/05 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
pytorch中的inference使用实例
2020/02/20 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
幼儿园毕业教师感言
2014/02/21 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
商超业务员岗位职责
2015/02/13 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
单位证明范文
2015/06/18 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
python使用torch随机初始化参数
2022/03/22 Python
Python实现视频自动打码的示例代码
2022/04/08 Python
win10更新失败无限重启解决方法
2022/04/19 数码科技