一直对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. 在mac下安装jdk1.7(转)

    转自:http://vela.diandian.com/post/2012-01-06/15379924 最近呢,想玩玩jdk1.7,不过mac平台下的jvm一直都是Apple自己改的,所有有些麻烦. ...

  2. Panopticon跨平台的逆向工程反汇编工具

    http://www.freebuf.com/sectool/104045.html Panopticon 使用GPLv3授权许可,其免费. 项目文档:https://panopticon.re. 问 ...

  3. 【分布式计算】MapReduce的替代者-Parameter Server

    原文:http://blog.csdn.net/buptgshengod/article/details/46819051 首先还是要声明一下,这个文章是我在入职阿里云1个月以来,对于分布式计算的一点 ...

  4. 给jdk写注释系列之jdk1.6容器(8)-TreeSet&NavigableMap&NavigableSet源码解析

    TreeSet是一个有序的Set集合. 既然是有序,那么它是靠什么来维持顺序的呢,回忆一下TreeMap中是怎么比较两个key大小的,是通过一个比较器Comparator对不对,不过遗憾的是,今天仍然 ...

  5. PLS-00201: 必须声明标识符 'UTL_FILE'

    解决办法: 用sysdba身份 把UTL_FILE包的执行权限给这个用户. 举例: 1.C:\Users\Anakin>sqlplus /nolog2.SQL> connect /as s ...

  6. saltstack实战4--综合练习2

    Saltstack配置管理-功能模块-安装haproxy 配置管理,我们分了3层 最底层是系统初始化部分 倒数二层是功能模块,就是具体的产品的安装了 假如你的环境需要nginx,php,memcach ...

  7. Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式

    Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式 >>>>>>>>>>>>>> ...

  8. wap测试学习

    注意要点 UI元素 修改源码 物理键操作(回车.确认) 焦点 习惯性操作(前进.后退.屏幕翻转和停止) 刷新 重启服务器 重启浏览器 异常关闭 书签 cookies/session 缓存 接口 URL ...

  9. C# 按指定数量从前面或者后面删除字符串

    为了方便处理一些数据,自己写一个小程序来辅助工作,提高点效率.  不够删除怎么办呢!?一般程序员都会马上想到的是,用if判断…….这里其实不用if语句也可以轻松实现的! 有些程序员还可能用 try c ...

  10. c#语法笔记

    书写代码需要注意的地方: 1.代码中出现的所有标点都是英文半角 shift键快速切换中文半角和英文半角 shift+空格 切换全角/半角 2.在c#代码中,每行代码的结束,我们都以分号结束,注意:这个 ...