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 select操作的日期联动实现代码
Dec 06 Javascript
javascript 文件的同步加载与异步加载实现原理
Dec 13 Javascript
九种js弹出对话框的方法总结
Mar 12 Javascript
动态改变div的z-index属性的简单实例
Aug 08 Javascript
JavaScript中this的四个绑定规则总结
Sep 26 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 Javascript
vue监听键盘事件的快捷方法【推荐】
Jul 11 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
Sep 27 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
Sep 11 Javascript
js 解析 JSON 数据简单示例
Apr 21 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中的array数组类型分析说明
2010/07/27 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
js数组操作常用方法
2014/05/08 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
怎么写有吸引力的自荐信
2013/11/17 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
信访工作个人总结
2015/03/03 职场文书