Javascript 强制类型转换函数


Posted in Javascript onMay 17, 2009

1. Boolean(value):把值转换成Boolean类型;
2. Nnumber(value):把值转换成数字(整型或浮点数);
3. String(value):把值转换成字符串。
我们先来看Boolean():在要转换的值为“至少有一字符的字符串”、“非0的数字”或“对象”,那么Boolean()将返回true,如果要转换的值为“空字符串”、“数字0”、“undefined”,“null”这些话,那么Boolean()会返回false。你可以用以下代码来测试

var t1 = Boolean("");//返回false,空字符串 
var t2 = Boolean("s");//返回true,非空字符串 
var t3 = Boolean(0);//返回false,数字0 
var t3 = Boolean(1),t4 = Boolean(-1);//返回true,非0数字 
var t5 = Boolean(null),t6 = Boolean(undefined);//返回false 
var t7 = 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(false)---"false"、String(1)---"1"。它和toString()方法有些不同,区别在于:
var t1 = null; 
var t2 = String(t1);//t2的值 "null" 
var t3 = t1.toString();//这里会报错 
var t4; 
var t5 = String(t4);//t5的值 "undefined" 
var t6 = t4.toString();//这里会报错
Javascript 相关文章推荐
JQuery困惑—包装集 DOM节点
Oct 16 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
简单的jquery拖拽排序效果实现代码
Sep 20 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
Apr 05 Javascript
微信js-sdk上传与下载图片接口用法示例
Oct 12 Javascript
浅谈es6中export和export default的作用及区别
Feb 07 Javascript
Vue 表情包输入组件的实现代码
Jan 21 Javascript
JS实现的类似微信聊天效果示例
Jan 29 Javascript
axios+Vue实现上传文件显示进度功能
Apr 14 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
jQuery live
May 15 #Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 #Javascript
javascript Prototype 对象扩展
May 15 #Javascript
JavaScript设置FieldSet展开与收缩
May 15 #Javascript
childNodes.length与children.length的区别
May 14 #Javascript
DOM下的节点属性和操作小结
May 14 #Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
May 14 #Javascript
You might like
把77A收信机改造成收音机
2021/03/02 无线电
用PHP动态创建Flash动画
2006/10/09 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
python global关键字的用法详解
2019/09/05 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
公务员职务工作的自我评价
2013/11/01 职场文书
写给女生的道歉信
2014/01/08 职场文书
家长给小学生的评语
2014/01/30 职场文书
会计试用期自我评价
2014/09/19 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang