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学习之一个简易的日历控件
Mar 24 Javascript
浅谈javascript的原型继承
Jul 25 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
Jan 27 Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
Mar 13 Javascript
window.location不跳转的问题解决方法
Apr 17 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
Sep 17 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
Dec 04 Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 Javascript
svg动画之动态描边效果
Feb 22 Javascript
微信小程序制作表格的方法
Feb 14 Javascript
JavaScript生成随机验证码代码实例
Sep 28 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实现的MySQL数据浏览器
2007/03/11 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
PHP开发过程中常用函数收藏
2009/12/14 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
php中namespace及use用法分析
2016/12/06 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
PHP工厂模式的日常使用
2019/03/20 PHP
Javascript 二维数组
2009/11/26 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
python flask 多对多表查询功能
2017/06/25 Python
python使用RNN实现文本分类
2018/05/24 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
python如何操作mysql
2020/08/17 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
会计学专业求职信
2014/07/17 职场文书
房屋买卖协议样本
2014/11/16 职场文书
蓬莱阁导游词
2015/02/04 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
如何做好工作总结!
2019/04/10 职场文书
Java 数组的使用
2022/05/11 Java/Android
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript