引用自

http://www.zhufengpeixun.cn/jishuziliao/javaScriptzhuanti/2014-06-14/300.html

不同类型间的比较,规律如下

类型

类型

规律

其它说明

对象

对象

比较是不是同一个内存地址

对象

字符串

对象先转化为字符串,然后做比较

对象

布尔类型

两边都要先转为数字(false是0,true是1)。是对象类型先隐式调用toString方法,然后再Number()

alert([2]==true)未false,转为2==1 false

对象

数字

对象要转为数字,再进行比较(对象先隐式调用toString方法转化为字符串,然后再把这个字符串轮化为数字,相当于把这个字符串放到Number这个方法中)

数字

布尔

是进行的数字的比较

数字

字符串

把字符串转化为数,再比较

布尔

把两边都要转化为数字再进行比较

null

undefined

true

null,undefined

和其它类型

null和undefined和其它类型比较都是false(这两个对象没toString方法),和自身比较是true。

(undefined==undefined); true
(null==null);true

NaN

和其它类型

和说有比较都为false,和自身比较也为fasle,判断是否为NaN使用isNaN()

(NaN==NaN)   false

自身做布尔运算的时候的转换

类型

规律

示例

object

都是true

alert(!![])

number

只是0和NaN是false

alert(!!0);

string

只有空字符串是false(不是空格字符串)

alert(!!"");

function

都是ture

null,undefined

都是false

js不同类型作比较的更多相关文章

  1. JS 强制类型转化

    在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...

  2. js基本类型存放和对象存放的区别(对象遍历)

    js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...

  3. 关于js基本类型与引用类型(堆内存、栈内存的理解)

    js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...

  4. js变量类型详解

    <html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...

  5. js中不同类型作比较

    示例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <met ...

  6. js基本类型 引用类型

    参考 https://segmentfault.com/a/1190000005794070 http://blog.csdn.net/yummy_go/article/details/5050468 ...

  7. js判断类型方法

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null,Boolean, Number和String:复杂数据类型是Object,Object中 ...

  8. js 基本类型与引用类型的区别

    1. 基本类型: string,number,boolean,null,undefined 2. 引用类型: Function,Array,Object 访问方式                   ...

  9. JS数组类型检测

    在强类型语言,数组类型检测是非常容易的事情(typeof就可以解决),而在弱语言JS数据类型就很容易混淆了. JS中常见的数据类型有:number.string.boolean.undefined.f ...

随机推荐

  1. 红玫瑰&爱情转移

  2. Linux Interactive Exploit Development with GDB and PEDA

    Exploit Development Process● Occupy EIP● Find the offset(s)● Determine the attack vector● Build the ...

  3. 2018CCPC吉林赛区(重现赛)

    http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么. #include<bits/stdc++.h& ...

  4. java中位运算^,&,<<,>>,<<<,>>>总结

    1.^(亦或运算) ,针对二进制,相同的为0,不同的为1 public static void main(String[] args) { System.out.println("2^3运算 ...

  5. linux性能分析工具Procs

  6. EBCDIC-1025 Russia

  7. 【抓包工具之Fiddler】增加IP列;session高亮

    Fiddler 在处理每个session时,脚本文件CustomRules.js中的方法都会运行,该脚本使得你可以隐藏,标识或任意修改负责的session.规则脚本在运行状态下就可以修改并重新编译,不 ...

  8. elasticsearch failed to load elasticsearch nodes

    转载:https://blog.csdn.net/weixin_44714808/article/details/90049315 elasticsearch 安装在linux时使用springboo ...

  9. SPOJ1693 COCONUTS - Coconuts

    传送门[洛谷] 自闭QAQ 什么玩意QAQ 不是很理解到底在干啥 问了巨佬以后大概是这个样子的 可以看出是最小割模型 对于每一个人 反悔的话就是代价+1 那么连接(s,i) (i,t)分别表示他最后选 ...

  10. 内存中的Buffer和Cache的区别

    Reference:https://time.geekbang.org/column/article/74633 磁盘是一个块设备,可以划分为不同的分区:在分区之上再创建文件系统,挂载到某个目录,之后 ...