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 相关文章推荐
20款效果非常棒的 jQuery 插件小结分享
Nov 18 Javascript
js异步加载的三种解决方案
Mar 04 Javascript
javascript检测浏览器的缩放状态实现代码
Sep 28 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
前端框架Vue.js中Directive知识详解
Sep 12 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
Oct 31 Javascript
p5.js入门教程之小球动画示例代码
Mar 15 Javascript
React Native中Mobx的使用方法详解
Dec 04 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
Sep 10 Javascript
详解vue-flickity的fullScreen功能实现
Apr 07 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 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
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
php 缩略图实现函数代码
2011/06/23 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
PHP文件上传类实例详解
2016/04/08 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
python实现雨滴下落到地面效果
2018/06/21 Python
python实现决策树分类
2018/08/30 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
python如何调用java类
2020/07/05 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
德国PC硬件网站:CASEKING
2016/10/20 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
佳能法国商店:Canon法国
2019/02/14 全球购物
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
2016年优秀共青团员事迹材料
2016/02/25 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL