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 表单中textarea字数限制实现代码
Dec 07 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 Javascript
Json序列化和反序列化方法解析
Dec 19 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
Aug 15 Javascript
JavaScript File API实现文件上传预览
Feb 02 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
详解nuxt sass全局变量(公共scss解决方案)
Jun 27 Javascript
Vue创建头部组件示例代码详解
Oct 23 Javascript
Vue.js样式动态绑定实现小结
Jan 24 Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 Javascript
js中延迟加载和预加载的具体使用
Jan 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用GD库生成高质量的缩略图片
2011/03/09 PHP
表格展示无限级分类(PHP版)
2012/08/21 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
js中new一个对象的过程
2017/02/20 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python画图学习入门教程
2016/07/01 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
国贸专业毕业求职信
2014/06/11 职场文书
2015年食堂工作总结报告
2015/04/23 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
观后感的写法
2015/06/19 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers