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 相关文章推荐
js parentElement和offsetParent之间的区别
Mar 23 Javascript
jQuery 获取URL的GET参数值的小例子
Apr 18 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
Aug 02 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
Sep 10 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
js/jquery判断浏览器类型的方法小结
May 12 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
jquery跟随屏幕滚动效果的实现代码
Apr 13 Javascript
Javascript Event(事件)的传播与冒泡
Jan 23 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
深入理解vuex2.0 之 modules
Nov 20 Javascript
使用layer模态框给新页面传值的方法
Sep 27 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
php&java(二)
2006/10/09 PHP
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
js实现抽奖效果
2017/03/27 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
python实现ftp客户端示例分享
2014/02/17 Python
python django集成cas验证系统
2014/07/14 Python
Python中__name__的使用实例
2015/04/14 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
七夕情人节促销方案
2014/06/07 职场文书
项目工作说明书
2014/07/29 职场文书
复兴之路展览观后感
2015/06/02 职场文书
2016年少先队活动总结
2016/04/06 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python