javascript显式类型转换实例分析


Posted in Javascript onApril 25, 2015

本文实例讲述了javascript显式类型转换的方法。分享给大家供大家参考。具体分析如下:

尽管js可以做许多自动类型转换,但某些时候仍然需要做显示类型转换或为了代码逻辑清晰易读而做显示类型转换。

做显示类型转换最简单的方法就是用Boolean()、Number()、String()或Object()函数:

Number("3") //3
String(false)  //"false"
false.toString()//同上
Boolean([]) //true
Object(3)  //new Number(3)

js中的某些运算符会做隐式类型转换,比如:
若+运算符一个操作数是字符串,则它会将另一个操作数转换为字符串;
一元+运算符将其操作数转换为数字;
一元!运算符将操作数转换为布尔值并取反;
代码中经常可以看到如下类型转换的用法:

x+"" //等价于String(x)
+x //等价于Number(x)
x-0 //同上
!!x //等价于Boolean(x),是双叹号哦

Number类定义的toString()方法可以按转换基数(radix)将数字转换为其它进制数的字符串表示(2-36之间):

var n =11;
bin_str = n.toString(2);
oct_str = "0" + n.toString(8);
hex_str = "0x" + n.toString(16);

Number类还为数字到字符串的类型转换场景定义了另外3个方法:
toFixed()根据小数点后的指定位数将数字转换为字符串,它从不使用指数记数法。

11.113344.toFixed(5) //"11.11334"

toExponential()使用指数记数法将数字转换为指数形式的字符串,其中小数点前只有一位,小数点后位数由参数指定:

11.113359.toExponential(5) //"1.11134e+1"

toPrecision()根据指定的有效数字位数将数字转换为字符串,如果有效数字位数小于数字整数部分的位数则转换为指数形式。
以上3个方法都会适当的进行四舍五入或填充0.

需要说明的是前面提到的Number()函数只能基于十进制数进行转换,而且不能出现非法字符。我们可以使用全局函数(不属于任何类的方法)parseInt或parseFloat函数来进行字符串到数字的转换;

parseInt()只解析整数,而parseFloat()可以解析整数和浮点数。

如果字符串前缀为”0x”或者”0X”,parseInt()将其解释为16进制数;parseInt和parseFloat都会跳过任意数量的前导空格,且尽可能解析更多的数值字符;如果第一个非空格字符是非法数字,则返回NaN。

parseInt可以接收第二个可选参数,该参数指定数字转换的基数,取值范围是2-36.

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
深入浅析JavaScript中的constructor
Apr 19 Javascript
jquery过滤特殊字符',防sql注入的实现方法
Aug 17 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
JS在if中的强制类型转换方式
Jul 15 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 Javascript
模块化react-router配置方法详解
Jun 03 Javascript
深入了解JavaScript代码覆盖
Jun 13 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
Aug 16 Javascript
vue视频播放暂停代码
Nov 08 Javascript
vue监听滚动事件的方法
Dec 21 Vue.js
javascript原始值和对象引用实例分析
Apr 25 #Javascript
JavaScript分页功能的实现方法
Apr 25 #Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 #Javascript
JavaScript实现梯形乘法表的方法
Apr 25 #Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
Apr 25 #Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 #Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 #Javascript
You might like
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
2014年小学安全工作总结
2014/12/04 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
听课评课活动心得体会
2016/01/15 职场文书