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 ...
随机推荐
- Controller的返回值
public String editItems(Model model) throws Exception { //itemsQueryVo参数如果没有的话 可以传一个null ItemsCustom ...
- Codeforces 1156D 0-1-Tree ( 并查集 || 树形DP )
<题目链接> 题目大意: 给定一颗无向树,树的边权只要0/1两种情况,现在问你这棵树上存在多少对有序对<u,v>,满足u-->v的路径上,如果出现边权为1的边之后,就不能 ...
- 在html模板里面加python函数(simple_tag与filter)
自定义函数 simple_tag a. app下创建templatetags目录 b. 任意xxoo.py文件 c. 创建template对象 register d. @register.simple ...
- 安装weblogic界面安装
如果中间有任何问题请联系作者:291562721 界面安装weblogic首先 需要工具: 链接:https://pan.baidu.com/s/1x3uYxsnycjT2Xi2TOTbDdQ 提取码 ...
- 164-基于TI DSP TMS320C6455和Altera FPGA EP2S130的Full CameraLink PDS150接口板卡
一.板卡概述 本板卡由我公司自主研发,板卡采用DSP+FPGA的结构,DSP使用TMS320C6455芯片,FPGA采用ALTERA的高端FPGA芯片Stratix II EP2S系列EP2S130, ...
- day04 列表增删改查、元祖以及range
01 课前小甜点 千万不要随意做决定 只要你做了决定,你要坚持下去. 02 昨日内容回顾 int <---> bool : 非0 True 0 False True 1 False 0 i ...
- rabbitmq 从channal获得socket
std::string queue_name = "hello100"; AmqpClient::Channel::ptr_t channel = AmqpClient::Chan ...
- OpenStack虚拟机网络问题
当发现你的OpenStack虚拟机网络有问题,不妨先试一下这16个步骤 1. Security Group全部打开,这是最基本的,但是很多人容易忘记 其实遇到过无数这种场景了,Debug了半天网络 ...
- linux shell 指令
一.文件比较运算符 1. e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ] 2. -d filename 如果 filename为目录,则为 ...
- 如何触发react input change事件
页面用react来进行开发的,想触发react组件里面input的change事件,用Jquery的trigger来触发没有效果,必须使用原生的事件来进行触发. var event = new Eve ...