一、显示类型转换

1.Boolean()

  (1)、undefined/null/‘’   ==》 false

  (2)、任何对象(包括例如var obj = {} ) ==>  true

  (3)、非空字符串  ==》 true

  (4)Infinity/-Infinity ==>true

  (5)、其他应该均为true

2.Number()

  (1)、如果不是字符串,而是数值,则转换为对应的十进制。

  (2)、如果为字符串,

      a)字符串内容均为数值,则转换为相应的数值。

Number(123); // => 123
Number(0123); //=>83
Number(0x123); //=>291
Number(00x123); //报错
Number(000123); //83

        注意进制问题:

          如果为0开头的数字字符串,为八进制,浏览器会将前导0忽略,将后面的当成十进制返回  Number('0123'); // =》123

          如果为0x开头的数字字符串,则浏览器认为其为十六进制数值(不会忽略前导0,若前面为‘00x’,则返回NaN),将其装换为十进制没返回 Number('0x123'); // =>291

      b)字符串内容均为非数值字符,则返回NaN

      c)字符串内容数字和非数值混搭

          如果第一位为数值,则截取第一位数值到最后一位数值(之后为非数值,就算非数值后又有数值也不考虑)。 Number('123daasd123132'); // =>123

          如果第一位为非数值*则直接返回NaN(NaN不能参与比较,即使和自己 NaN == NaN ,报错)

   (3)、undefined ==》NaN

        null  ==>0

        空字符串(里面可以包含若干空格) ==>0

       对象  ==》先转换valueOf()返回的值,若为NaN,在转换toString()返回值,即为最后结果

 注意:还有一种特殊情况,当数字值溢出数值范围,返回无穷大,上溢出,返回Infinity,下溢出,返回-Infinity。

    浏览器能表示的最小值为Number.MIN_VALUE ,最大值为Number.MAX_VALUE

3.parseInt()

  1. 几乎和parseFloat转换方法完全一样,只不过最终结果返回的都是整数,而不存在浮点数。

  2.第二个特殊点是:parseInt(arg1,arg2);有第二个可选参数,制定arg1为几进制数,然后将其转换为十进制整数,如果第二个参数未制定,则默认为十进制。(制定进制转换为十进制);(第二个参数的范围为 2 ~ 36,设定值超过此范围则返回NaN,注:第二个参数实际上也可设置为0,此时相当默认值十进制)

  3.区别:toString()方法,toString方法里参数可选,制定将调用该方法的数值转换的进制数,最后再抓转换为字符串  var x = 123; x.toString(2); //=>"1111011"

4.parseFloat()

  1.几乎和parseInt转换方法完全一样,只不过最终结果返回的都是浮点数,而不存在整数。

  2.不存在第二个参数.

5.String(),等同于toString(),只不过没参数而已

  (1)、如果有toString()方法,则调用该方法。

  (2)、null和undefined没有该方法,分别返回'null' 和 ’undefined‘;

二、隐士类型转换:

  1.进行相等比较,会尽量转换为相同类型再判断

  2.+,-,++,--会将操作的先转换为数字,再进行操作。

  3.反正就是能转换为合适的类型,就会自动转换。

JS之类型转换的更多相关文章

  1. JS 数据类型转换

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

  2. JS数据类型转换

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

  3. js值类型转换(boolean/String/number),js运算符,if条件,循环结构,函数,三种弹出框

    js值类型转换 number | string | boolean boolean类型转换 num = 0; var b1 = Boolean(num); console.log(b1) 转化为数字类 ...

  4. js 自动类型转换

    js自动类型转换 1.==符号在判断左右两边数据是否相等时,如果数据类型一致,直接比较值即可 2.==符号左右数据类型不一致时,如果两方数据为布尔型.数值型.字符串型时,不为数字的那一方自动调用Num ...

  5. JS的类型转换,强制转换和隐式转换

    JS的类型转换 1.强制转换 通过String(),Number(),Boolean()函数强制转换 var str=123; var str1='123'; console.log(typeof s ...

  6. JS的类型转换

    首先我们要知道,在 JS 中类型转换只有三种情况,分别是: 转换为布尔值 转换为数字 转换为字符串 我们先来看一个类型转换表格 转Boolean 在条件判断时,除了 undefined, null,  ...

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

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

  8. JS 数据类型转换-转换函数、强制类型转换、利用js变量弱类型转换

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型 ...

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

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

  10. JS 数据类型转换以其他

    JavaScript 是一种弱类型的语言,也就是没有类型限制,变量可以随时被赋予任意值. 同时,在程序运行过程中,类型会被自动确认的.因此,这就是涉及到数据的类型转换.在 JS 的世界中,数据类型转换 ...

随机推荐

  1. js 获取字符串中最后一个斜杠后面的内容

    var str = "/asdasf/asfaewf/agaegr/trer/rhh"; var index = str .lastIndexOf("\/"); ...

  2. 34.pad designer警告

    1.Drill hole size is equal or larger than smallest pad size. Pad will be drilled away 原因:钻孔直径太大,直接把p ...

  3. 读:HIS 与医保系统的接入方案及实现

    HIS 与医保系统的接入方案及实现刘剑锋 李刚荣第三军医大学西南医院信息科(重庆 400038) 医院HIS和医保系统的接口设计方案涉及两个部分,分别由医院和医保中心分别完成相,应的程序设计,这两部分 ...

  4. Protocol-SPI协议

    说明.文章摘自:SPI协议及其工作原理浅析 http://bbs.chinaunix.net/thread-1916003-1-1.html 一.概述. SPI,Serial Peripheral I ...

  5. 团队项目(NABC分析)

    我们团队开发的是<校园导航>软件 (1)N(Need需求) 我们的团队主要考虑到我们学校没有自己的校园导航,有时会给同学及参观人员带来不便,又看到好多学校都有自己的导航,所以就从这个需求方 ...

  6. 结队开发项目——七巧板NABC需求分析

    NABC需求分析   我们团队项目为七巧板取了个洋气的名字叫7-magic. 怀念过去,把握现在,展望未来:立足经典,勇于创新,开创一个七巧板的新时代. 特点:可以保存图片或上传至微信平台    N ...

  7. 关于js with语句的一些理解

    关于js with语句的一些理解   今天看到js的with语句部分,书中写到,with语句接收的对象会添加到作用域链的前端并在代码执行完之后移除.看到这里,我有两点疑问,添加到作用域链前端是不是指对 ...

  8. 角色控制器(CharacterController)

    移动: 1.SimpleMove(Vector3: vector3&speed) 简单移动,可以根据vector3方向移动,物体不需要添加刚体即受重力影响,不需要添加碰撞器即可以产生碰撞,但无 ...

  9. merry Christmas

    圣诞节的来历 圣诞节这个名称是基督弥撒的缩写. 弥撒是教会的一种礼拜仪式. 1.耶诞节是一个宗节,我们把它当作耶苏的诞辰来庆祝,因而又名耶诞节.这一天,世界所有的基督教会都举行特别的礼拜仪式.但是有很 ...

  10. Google Guava学习笔记——基础工具类Joiner的使用

    Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起.MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value. 2,Spli ...