一直对js的类型转换一直半解,今天理一下思路,首先说一下几个特殊的数值

null

  null是特殊的object,故 typeof null 返回object,

  null派生于undefined ,故 null == undefined

NaN

  NaN是特殊的Number, NaN与任何值(包括自己)进行比较都返回false

Boolean

  只有两值,false和true

-----------------------------------------------------------------------------------------

接下来,来说一下进入正题:

toString():除了null和undefined,其它值都有此方法,这也是toString()与String()的区别,而且此方法可以传一个基数

  而对于非数值,toString设置参数是无效的,var a = "1234"; a.toString()  返回的是1234而非1234的二进制表示

String():如果传入的参数可以使用toString(),则返回的结果与toString()无基数的情况一致

  String(null)返回null   String(undefined)返回undefined

  String(true/false)返回true/false

------------------------------------------------------------------------------------------------------------

parseInt()/pasefloat():用于把String类型转换成Number类弄,对于基它类型调用此方法都会返回NaN

  机制:从每一个非空格开始直到找到一个非有效字符(空格,字母,对于parseInt来说小数点是是非有效的,而对于parseFloat第二个小数点才是无效的),然后把找到的结果再转换成Number

  即:parseInt(null/undefined/true/false/NaN)都返回NaN,而Number类弄直接返回原值  

    parseInt(空格/空字符串) // NaN  因为找不到有效字符,返回null

    parseInt(空格123) // 123    parseInt(空格123空格) // 123

Number():用于把整个值,而不是部分值转换成数值,如果转换失败则返回NaN(空格与空字符串是可以转换的)

  Number(null) //0

  Number(true) //1    Number(false) //0

  Number(NaN/undefined) //NaN

  Number(空格/空字符串) // 0

  Number('123.123.3') // NaN 123.123.3 不能转换成数值

---------------------------------------------------------------------------------------------------------------------------

Bollean():返回true/false

  Bollean(null/undefined/0/空字符串) //false

===========================================================================

对于object类的toString()/valueOf()

未完待续

  

  

js 的数据类型转换的更多相关文章

  1. JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...

  2. JS的数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...

  3. JS 之 数据类型转换

          首先我们来简单了解一下JS中的数据类型,JavaScript拥有字符串.数字.布尔.数组.对象.Null.Undefiend 6中数据类型.同一时候,JavaScript拥有动态类型. 也 ...

  4. js基础---数据类型转换

    js中数据类型: 简单数据类型: number:233,-34,0x23,023 string:"hello"或者'hello' boolean:true.false undefi ...

  5. JS隐形数据类型转换注意事项

    alert('2'===2); //这个结果是false,首先三个等号要比较数据类型,字符串和整数不相等 alert('2'==2);    //这个结果是true,因为是两个等号,所以不会比较数据类 ...

  6. {}+[] = ? 和 []+{} = ? 浅谈JS数据类型转换

    参加公司技术嘉年华第一季(前端.服务端)的间隙,陈导问了我一个问题:{}+[] 和 []+{}两个表达式的值分别是什么?根据我的理解我觉得结果应该都是"[object Object]&quo ...

  7. JS 里的数据类型转换

    JS的数据类型转换 一.js中的数据类型Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 1.Number Number数据类型指 ...

  8. JS 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...

  9. js笔记——js数据类型转换

    以下内容摘录自阮一峰的<语法概述 -- JavaScript 标准参考教程(alpha)>章节『数据类型转换』,以做备忘.更多内容请查看原文. JavaScript是一种动态类型语言,变量 ...

随机推荐

  1. C语言中堆和栈的区别

    原文:http://blog.csdn.net/tigerjibo/article/details/7423728 C语言中堆和栈的区别 一.前言: C语言程序经过编译连接后形成编译.连接后形成的二进 ...

  2. TRF7960天线参数试验

    CA1焊47pF就好了,不大用调,主要调CA2的值 图中CA2焊100pF时,读卡距离2cm左右 27pF                3.5cm左右 不焊 4cm左右 47pF 5cm左右 现在手 ...

  3. 疑问-hadoop

    hadoop可以设置备份数据个数,那么这些不同节点的数据块对于hadoop来说有区分谁是备份的谁是直接可以用的吗? hadoop有机架策略,给某些操作如像根据带宽选择节点传输数据 那么这种策略的根据是 ...

  4. javascript 十六进制与RGB颜色值的相互转换

    http://www.zhangxinxu.com/wordpress/?p=646 http://www.zhangxinxu.com/wordpress/?p=646 -------------- ...

  5. github使用成长记

    学校里一直都有自己写一些网页,一方面为了学习熟练技能,另一方面也是兴趣所在.但是独乐乐不如众乐乐,一直向往有那么一个平台能把自己做得东西分享给广大网友,并且想借着分享的契机和各位程序猿交流学习心得(这 ...

  6. C# WinForm 中ComboBox数据绑定的问题 (转)

    来自:http://blog.sina.com.cn/s/blog_5fb9e26301013wga.html C# WinForm 中ComboBox数据绑定的问题 怎样让WinForm中的Comb ...

  7. Python 字典排序

    思路是把字典转为列表后再排序 d={'z':1,'y':2,'x':3} # 字典 s=d.items() # [('y', 2), ('x', 3), ('z', 1)] 列表 s.sort() # ...

  8. Android ExpandableListView的技巧和问题

    前言: 最近一个多月在认真的学习Android和做项目,文章内容表达的不好或者理解错了,希望大家评论指出. :-) 本文是总结几个比较常用且使用的技巧,和一个大家都会遇到的问题. 文章中大部分语句摘抄 ...

  9. Hill Climber and Random Walk

  10. CMD相关命令初探

    今天想起来对个人写得一个自动启动绿色版MySQL服务器端的批处理文件,进行外观美化,使自己在启动时,能得心旷神怡一点.在网上学习了一点CMD批处理的知识.在此保留,以待后查. @      @:不显示 ...