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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
Feb 21 Javascript
js实现根据身份证号自动生成出生日期
Dec 15 Javascript
JS实现上下左右对称的九九乘法表
Feb 22 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
Angularjs按需查询实例代码
Oct 30 Javascript
浅谈在Vue-cli里基于axios封装复用请求
Nov 06 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 03 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 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 Error与Logging函数的深入理解
2013/06/03 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
php实现计数器方法小结
2015/01/05 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
js制作提示框插件
2020/12/24 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
Python生成器(Generator)详解
2015/04/13 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python事件驱动event实现详解
2018/11/21 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
教师个人工作总结范文2014
2014/11/10 职场文书
迎新年主持词
2015/07/06 职场文书
golang 实现并发求和
2021/05/08 Golang
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android