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 相关文章推荐
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
jquery ui dialog实现弹窗特效的思路及代码
Aug 03 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
深入分析Javascript跨域问题
Apr 17 Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
巧用canvas
Jan 21 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
javascript canvas实现简易时钟例子
Sep 05 Javascript
vue实现简单计算商品价格
Sep 14 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
php UBB 解析实现代码
2011/11/27 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
FF IE兼容性的修改小结
2009/09/02 Javascript
javascript parseInt 大改造
2009/09/27 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
浅析python中的分片与截断序列
2016/08/09 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
python try except 捕获所有异常的实例
2018/10/18 Python
将python安装信息加入注册表的示例
2019/11/20 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
python 深度学习中的4种激活函数
2020/09/18 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
美国牛仔品牌:True Religion
2018/11/16 全球购物
工作会议欢迎词
2014/01/16 职场文书
《学会合作》教学反思
2014/04/12 职场文书
销售个人求职信范文
2014/04/28 职场文书
介绍信的格式
2015/01/30 职场文书
贷款担保书范本
2015/09/22 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript