JavaScript数据类型隐式转换。
一,函数类
    isNaN()
    该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true。
    alert()
    输出的内容隐式的转换为字符串。

二,运算符类。
    1,算术运算符。
       - * / %
    如果操作数不是数值,将会隐式的调用Number()函数。按照这个函数的转换规则进行转换。
    如果转换不成功,整个表达式返回NaN。
       + 
    如果操作数都是数值,然后进行相加。
    任何数据类型和字符串相加,都会隐式的调用他们的toString()方法,然后返回他们拼接的结果。
    如果操作数都是布尔值,那么进行Number()转换,false为0,true为1,进行相加。

2,关系运算符
       关系运算符的操作数可以是任何的类型,如果操作数不是数值类型,将会隐式的转换。
          (1)他运算的结果都是布尔值
   (2)都是字符串的时候,他会先转换成ASCII码然后进行比较大小。
   (3)都是数值的时候,他会正常的比较。
          (4)当一个字符串,另一个是数值的时候,他会把字符串尝试转换成数值类型,然后进行比较。
      如果不能转换成数值类型, 则会返回NaN(not a number),返回一个假。
          (5)undefined null
   (6)如果两个都是数值型字符串,那么他们也只会比较第一个。
   (7)如果一个数值和布尔值进行比较,会把布尔值转换成数值再进行比较,true为1,false为0
三,等性运算符。
     A. == 只比较值是否相等。
      (1).比较字符串的时候,是比较他们的ASCII码是否相等。
      (2).比较两个数值的时候,是比较他们的数值是否相等。
      (3).比较函数的时候,判断他们的位置是否相等。
     B. === 不但比较他们的值是否相等,还要比较类型是否相等。

四,语句类
    if(表达式){
    }else{
    }

三元运算符
    格式:var 变量=Boolean experssion?真值:假值
    while(){}
    if语句和三元表达式里面的表达式会隐式的调用Boolean函数,按照这个函数的转换规则,转换为相应的布尔值。

JavaScript复习之--javascript数据类型隐式转换的更多相关文章

  1. js数据类型隐式转换问题

    js数据类型隐式转换 ![] == false //true 空数组和基本类型转换,会先[].toString() 再继续比较 ![] == [] //true ![] //false [] == [ ...

  2. js中的数据类型隐式转换的三种情况

    js的数据类型隐式转换主要分为三种情况: 1. 转换为boolean类型 2. 转换为number类型 3. 转换为string类型 转换为boolean类型 数据在 逻辑判断 和 逻辑运算 之中会隐 ...

  3. Oracle数据类型隐式转换小析

    测试使用环境:oracle 11g r1 平常写sql语句时,大大咧咧,不太注意和数字有关的数据类型,有时例如 where c1=111 和 where c1='111'这样混用,却不曾想这里面另有蹊 ...

  4. SQL Server有意思的数据类型隐式转换问题

    写这篇文章的时候,还真不知道如何取名,也不知道这个该如何将其归类.这个是同事遇到的一个案例,案例比较复杂,这里抽丝剥茧,仅仅构造一个简单的案例来展现一下这个问题.我们先构造测试数据,如下所示: CRE ...

  5. JavaScript —— 常用数据类型隐式转换

    公用方法: let checkType = (data) => { if(data){ console.log(true); }else{ console.log(false); } } 一.字 ...

  6. JavaScript学习笔记——数据类型强制转换和隐式转换

    javascript数据类型强制转换 一.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 B.如果是数字,转换成为本身.将无意义的后导 ...

  7. javascript笔记整理(数据类型强制/隐式转换 )

    A.数据类型强制转换 1.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 var a=false;alert(Number(a)); ...

  8. JavaScript的六种数据类型与隐式转换

    一.六种数据类型 javascript的数据类型包括: (1)基本数据类型:number.string.boolean.null.undefined (2)对象:object object又包括Fun ...

  9. JavaScript的隐式转换

    原文:JavaScript的隐式转换 JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它 ...

随机推荐

  1. (@WhiteTaken)设计模式学习——建造者模式

    Builder模式,也就是建造者模式或者生成器模式,是GoF提出的23种设计模式的一种. 这种模式是用来隐式的创建复合对象而提出来的. 创建复合对象的过程,不在主客户端显示. 下面直接上代码.以修建房 ...

  2. Javascript面对对象. 第二篇

    但是还有一个问题,就是识别的问题,因为根本无法搞清楚他们到底是哪个对象的实例. 1.构造函数 function CreateObject(name,age){ //创建一个对象,使用构造函数的对象都是 ...

  3. Javascript面对对象. 第四篇

    原型模式创建对象也有自己的缺点,它省略看构造函数传参初始化这一过程,带来的缺点就是初始化的值都是一致的. 而原型最大的缺点就是它优点,那就是共享. 原型中所有属性是被很多实例共享的,共享对于函数非常合 ...

  4. js五种设计模式

    1.js工厂模式 var lev=function(){ return "嘿哈"; }; function Parent(){ var Child = new object(); ...

  5. 前端项目经验总结之js防缓存(避免缓存的影响)

    一.问题描述:打包后的h5项目中有个server.js文件夹,这个文件夹有些时候用户更新了h5,但是加载的还是旧的server.js,所以怀疑是缓存的问题,为了避免缓存的影响所以要给server.js ...

  6. angular : $location & $state(UI router)的关系

    次序:angular 的 location会先跑 $rootScope.$on("$locationChangeStart", function (scope, newUrl, o ...

  7. oracle commond

    常用commond alter user scott account unlock; --解锁账号 alter user scott identified by new_pwd; --设置密码 lsn ...

  8. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

  9. HTML5之通信和多线程

    HTML通信 跨文档消息传输 HTML5提供了在网页文档之间相互接收和发送信息的功能,使用这个功能,只要获取到网页所在窗口对象的实例,不仅同源(域+端口)的网页可以相互通信,甚至可以实现跨域通信.涉及 ...

  10. 算法模板——Dinic最小费用最大流

    实现功能:输入M,N,S,T:接下来M行输入M条弧的信息(包括起点,终点,流量,单位费用):实现功能是求出以S为源点,T为汇点的网络最大流的最小费用 其实相当的像Dinic最大流呐= = 还是spfa ...