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 相关文章推荐
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
Sep 18 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
Oct 31 Javascript
js数组去重的hash方法
Dec 22 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
利用 spin.js 生成等待效果(js 等待效果)
Jun 25 Javascript
mui上拉加载更多下拉刷新数据的封装过程
Nov 03 Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
Jun 20 Javascript
node crawler如何添加promise支持
Feb 01 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
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
详解Python爬虫的基本写法
2016/01/08 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
python else语句在循环中的运用详解
2020/07/06 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
大学生职业生涯规划书汇总
2014/03/20 职场文书
股东协议书范本
2014/04/14 职场文书
分公司任命书
2014/06/06 职场文书
小学假期安全广播稿
2014/09/28 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
年度考核个人总结
2015/03/06 职场文书
公司年会主持词范文!
2019/05/07 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers