js不同类型作比较
引用自
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 |
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不同类型作比较的更多相关文章
- JS 强制类型转化
在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...
- js基本类型存放和对象存放的区别(对象遍历)
js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...
- 关于js基本类型与引用类型(堆内存、栈内存的理解)
js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...
- js变量类型详解
<html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...
- js中不同类型作比较
示例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <met ...
- js基本类型 引用类型
参考 https://segmentfault.com/a/1190000005794070 http://blog.csdn.net/yummy_go/article/details/5050468 ...
- js判断类型方法
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null,Boolean, Number和String:复杂数据类型是Object,Object中 ...
- js 基本类型与引用类型的区别
1. 基本类型: string,number,boolean,null,undefined 2. 引用类型: Function,Array,Object 访问方式 ...
- JS数组类型检测
在强类型语言,数组类型检测是非常容易的事情(typeof就可以解决),而在弱语言JS数据类型就很容易混淆了. JS中常见的数据类型有:number.string.boolean.undefined.f ...
随机推荐
- 红玫瑰&爱情转移
- Linux Interactive Exploit Development with GDB and PEDA
Exploit Development Process● Occupy EIP● Find the offset(s)● Determine the attack vector● Build the ...
- 2018CCPC吉林赛区(重现赛)
http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么. #include<bits/stdc++.h& ...
- java中位运算^,&,<<,>>,<<<,>>>总结
1.^(亦或运算) ,针对二进制,相同的为0,不同的为1 public static void main(String[] args) { System.out.println("2^3运算 ...
- linux性能分析工具Procs
- EBCDIC-1025 Russia
- 【抓包工具之Fiddler】增加IP列;session高亮
Fiddler 在处理每个session时,脚本文件CustomRules.js中的方法都会运行,该脚本使得你可以隐藏,标识或任意修改负责的session.规则脚本在运行状态下就可以修改并重新编译,不 ...
- elasticsearch failed to load elasticsearch nodes
转载:https://blog.csdn.net/weixin_44714808/article/details/90049315 elasticsearch 安装在linux时使用springboo ...
- SPOJ1693 COCONUTS - Coconuts
传送门[洛谷] 自闭QAQ 什么玩意QAQ 不是很理解到底在干啥 问了巨佬以后大概是这个样子的 可以看出是最小割模型 对于每一个人 反悔的话就是代价+1 那么连接(s,i) (i,t)分别表示他最后选 ...
- 内存中的Buffer和Cache的区别
Reference:https://time.geekbang.org/column/article/74633 磁盘是一个块设备,可以划分为不同的分区:在分区之上再创建文件系统,挂载到某个目录,之后 ...