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 相关文章推荐
javascript控制frame,iframe的src属性代码
Dec 31 Javascript
JavaScript 事件系统
Jul 22 Javascript
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
jquery插件开发注意事项小结
Jun 04 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
javascript常用正则表达式汇总
Jul 31 Javascript
jQuery给元素添加样式的方法详解
Dec 30 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
typescript编写微信小程序创建项目的方法
Jan 29 Javascript
js基于canvas实现时钟组件
Feb 07 Javascript
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
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获取YouTube视频信息的方法
2015/02/11 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
python元组操作实例解析
2014/09/23 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Python实现网站注册验证码生成类
2017/06/08 Python
Python实现Linux中的du命令
2017/06/12 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
详解django三种文件下载方式
2018/04/06 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
Python socket模块方法实现详解
2019/11/05 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
启动一个线程是用run()还是start()
2016/12/25 面试题
基于Python 函数和方法的区别说明
2021/03/24 Python
中国梦的演讲稿
2014/01/08 职场文书
团日活动策划书
2014/02/01 职场文书
项目负责人任命书
2014/06/04 职场文书
组工干部演讲稿
2014/09/02 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
Java SSM配置文件案例详解
2021/08/30 Java/Android
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers