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学习2 选择器的使用说明
Feb 07 Javascript
jQuery淡入淡出元素让其效果更为生动
Sep 01 Javascript
node.js中的fs.readlink方法使用说明
Dec 17 Javascript
js实现Select列表内容自动滚动效果代码
Aug 20 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
Sep 08 Javascript
jQuery Ajax请求后台数据并在前台接收
Dec 10 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
Oct 17 Javascript
node打造微信个人号机器人的方法示例
Apr 26 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
Nov 11 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
Nov 26 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 文件上传模型,支持多文件上传
2009/08/13 PHP
Yii实现简单分页的方法
2016/04/29 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
bootstrap3-dialog-master模态框使用详解
2017/08/22 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
浅析Vue实例以及生命周期
2018/08/14 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
初步讲解Python中的元组概念
2015/05/21 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python打开windows应用程序的实例
2019/06/28 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
jupyter notebook tensorflow打印device信息实例
2020/04/20 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
学校学习雷锋活动总结
2014/07/03 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
windows server2008 开启端口的实现方法
2022/06/25 Servers