Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍


Posted in Javascript onDecember 13, 2012

下面就来详细说一说 Javascript 中 Boolean、Nnumber、String 强制类型转换的区别。
我们知道 Boolean(value) 是把值转换成Boolean类型,Nnumber(value) 是把值转换成数字(整型或浮点数),而 String(value) 是把值转换成字符串。

先来分析下Boolean,Boolean在转换值为“至少有一字符的字符串”、“非0的数字”或“对象”的情况下返回true;在转换值为“空字符串”、“数字0”、“undefined”,“null”的情况下返回false。
例如:

var b1 = Boolean("");//返回false,空字符串 
var b2 = Boolean("s");//返回true,非空字符串 
var b3 = Boolean(0);//返回false,数字0 
var b4 = Boolean(1);//返回true,非0数字 
var b5 = Boolean(-1);//返回true,非0数字 
var b6 = Boolean(null);//返回false 
var b7 = Boolean(undefined);//返回false 
var b8 = Boolean(new Object());//返回true,对象

接下来分析Number,Number与parseInt和parseFloat类似,区别在于Number转换的是整个值,而parseInt和parseFloat则可以只转换开头的数字部分。
例如:
Number(“1.2.3″),Number(“123abc”)会返回NaN,而parseInt(“1.2.3″)返回1、parseInt(“123abc”)返回123、parseFloat(“1.2.3″)返回1.2、ParseFloat(“123abc”)返回123。
Number会先判断要转换的值能否被完整的转换,然后再判断是调用parseInt或parseFloat。
下面列了一些值调用Number后的结果:
Number(false) //返回0 
Number(true) //返回1 
Number(undefined) //返回NaN 
Number(null) //返回0 
Number("1.2") //返回1.2 
Number("12") //返回12 
Number("1.2.3") //返回NaN 
Number(new Object()) //返回NaN 
Number(123) //返回123

最后来分析String,String可以把所有类型的数据转换成字符串,例如:String(false)的结果为”false”,String(1)的结果为”1″。它和toString方法有些不同,区别如下:
var s1 = null; 
var s2 = String(t1);//s2的值是 "null" 
var s3 = s1.toString();//会报错 
var s4; 
var s5 = String(t4);//s5的值是 "undefined" 
var s6 = t4.toString();//会报错
Javascript 相关文章推荐
JavaScript CSS修改学习第六章 拖拽
Feb 19 Javascript
Javascript 面向对象 继承
May 13 Javascript
JavaScript格式化数字的函数代码
Nov 30 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
浏览器兼容性问题大汇总
Dec 17 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
详解javascript中的babel到底是什么
Jun 21 Javascript
实现高性能javascript的注意事项
May 27 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
js onkeypress与onkeydown 事件区别详细说明
Dec 13 #Javascript
javascript 文件的同步加载与异步加载实现原理
Dec 13 #Javascript
javaScript复制功能调用实现方案
Dec 13 #Javascript
js遍历td tr等html元素
Dec 13 #Javascript
js关闭模态窗口刷新父页面或跳转页面
Dec 13 #Javascript
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 #Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 #Javascript
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
php输出1000以内质数(素数)示例
2014/02/16 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
php三元运算符知识汇总
2015/07/02 PHP
php检查页面是否被百度收录
2015/10/28 PHP
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
原生js实现分页效果
2020/09/23 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
Unix/Linux开发面试题
2016/08/16 面试题
党支部书记先进事迹
2014/01/17 职场文书
办公室文员工作职责
2014/01/31 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
爱心捐助活动总结
2015/05/09 职场文书
电影雨中的树观后感
2015/06/15 职场文书