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 相关文章推荐
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
Jan 07 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
JavaScript作用域示例详解
Jul 07 Javascript
JS html时钟制作代码分享
Mar 03 Javascript
vue-cli+webpack项目 修改项目名称的方法
Feb 28 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
详解vue 单页应用(spa)前端路由实现原理
Apr 04 Javascript
详解vue-cli官方脚手架配置
Jul 20 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
JavaScript的垃圾回收机制与内存管理
Aug 06 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入门源程序
2006/10/09 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
Python映射拆分操作符用法实例
2015/05/19 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
Python中过滤字符串列表的方法
2020/12/22 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
审核会计岗位职责
2013/11/08 职场文书
工程质量承诺书范文
2014/03/27 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
售后服务质量承诺书
2015/04/29 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS