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 相关文章推荐
json2.js的初步学习与了解
Oct 06 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
Aug 14 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
微信上传视频文件提示(推荐)
Nov 22 Javascript
JS基于对象的链表实现与使用方法示例
Jan 31 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
Angular.JS读取数据库数据调用完整实例
Jul 02 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
Nov 04 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
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
php 删除cookie方法详解
2014/12/01 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
jQuery链使用指南
2015/01/20 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
Python连接phoenix的方法示例
2017/09/29 Python
Django csrf 验证问题的实现
2018/10/09 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
cf收人广告词
2014/03/14 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
关键在于落实心得体会
2014/09/03 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python