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 相关文章推荐
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
JavaScript Event学习第四章 传统的事件注册模型
Feb 07 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
May 01 Javascript
Underscore源码分析
Dec 30 Javascript
JavaScript时间操作之年月日星期级联操作
Jan 15 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
JS库之ParticlesJS使用简介
Sep 12 Javascript
Vue+webpack+Element 兼容问题总结(小结)
Aug 16 Javascript
JS阻止事件冒泡的方法详解
Aug 26 Javascript
vue 插槽简介及使用示例
Nov 19 Vue.js
JS实现纸牌发牌动画
Jan 19 Javascript
原生JS实现飞机大战小游戏
Jun 09 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 str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
Python脚本实现网卡流量监控
2015/02/14 Python
python简单读取大文件的方法
2016/07/01 Python
详解python 发送邮件实例代码
2016/12/22 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
python线程池threadpool使用篇
2018/04/27 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
python中pow函数用法及功能说明
2020/12/04 Python
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
十岁生日同学答谢词
2014/01/19 职场文书
军人违纪检讨书
2014/02/04 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
三八妇女节演讲稿
2014/05/27 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
《绝招》教学反思
2016/02/20 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
简历自我评价范文
2019/04/24 职场文书
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python