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 相关文章推荐
IE innerHTML,outerHTML所引起的问题
Jun 04 Javascript
JavaScript Sort 表格排序
Oct 31 Javascript
js parsefloat parseint 转换函数
Jan 21 Javascript
JS弹出对话框返回值代码(asp.net后台)
Dec 28 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
固定背景实现的背景滚动特效示例分享
May 19 Javascript
文字垂直滚动之javascript代码
Jul 29 Javascript
js匿名函数作为函数参数详解
Jun 01 Javascript
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
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
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
PHP7 标准库修改
2021/03/09 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python输出指定月份日历的方法
2015/04/23 Python
python中管道用法入门实例
2015/06/04 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
简单了解Python中的几种函数
2017/11/03 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
干部四风问题整改措施思想汇报
2014/10/13 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
《海上日出》教学反思
2016/02/23 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript