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 相关文章推荐
js call方法详细介绍(js 的继承)
Nov 18 Javascript
js判断undefined类型示例代码
Feb 10 Javascript
form.submit()不能提交表单的原因分析
Oct 23 Javascript
JS交换变量的方法
Jan 21 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
JS百度地图搜索悬浮窗功能
Jan 12 Javascript
Vue.js实现微信过渡动画左右切换效果
Jun 13 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
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
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php以post形式发送xml的方法
2014/11/04 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
python 算法 排序实现快速排序
2012/06/05 Python
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python实现名片管理系统项目
2019/04/26 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
python中pdb模块实例用法
2021/01/15 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
乡镇庆八一活动方案
2014/02/02 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
个性婚礼策划方案
2014/05/17 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
2014年外联部工作总结
2014/11/17 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
2015年药店工作总结
2015/04/20 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
基于angular实现树形二级表格
2021/10/16 Javascript