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 相关文章推荐
use jscript with List Proxy Server Information
Jun 11 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
点击button获取text内容并改变样式的js实现
Sep 09 Javascript
js实现ifram取父窗口URL地址的方法
Feb 09 Javascript
js精准的倒计时函数分享
Jun 29 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
js+css实现红包雨效果
Jul 12 Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 Javascript
jQuery实现轮播图源码
Oct 23 jQuery
vue 实现移动端键盘搜索事件监听
Nov 06 Javascript
jQuery AJAX应用实例总结
May 19 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
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
php多文件上传实现代码
2014/02/20 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
php实现映射操作实例详解
2019/10/02 PHP
使javascript也能包含文件
2006/10/26 Javascript
javascript 流畅动画实现原理
2009/09/08 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python中的id()函数指的什么
2017/10/17 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
pandas中的series数据类型详解
2019/07/06 Python
django实现类似触发器的功能
2019/11/15 Python
Python requests设置代理的方法步骤
2020/02/23 Python
高职教师岗位职责
2013/12/24 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
成绩单家长评语大全
2014/04/16 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
廉政承诺书
2015/01/19 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
《开国大典》教学反思
2016/02/16 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
我的收音机情缘
2022/04/05 无线电
Python Matplotlib绘制动画的代码详解
2022/05/30 Python