javascript中=,==,与===的区别;以及特殊值NaN的讲解
1.在js中“=”是作为赋值。var a; a=3;给a赋值为3。
2.“==”称作相等,“===”被称作严格相等。当使用“==”进行比较的时候允许进行类型转换,它用来检测两个操作数是否相等。而“===”会先比较类型,然后再比较具体的值是否相等。
var a = "10";
var b = 10;
alert(a==b); //true
alert(a===b); //false;
var a = 0;
var b = false;
alert(a==b); //true
alert(a===b); //false;
var a = null;
var b = undefined;
alert(a==b); //true
alert(a===b); //false;
3.在js中NaN是个特例,它是是代表非数字值的特殊值,它本身与本身比较(等于,大于等于,小于等于等等)均不相等。isNaN()函数可以判断一个值是否是非数字。但有两个特殊情况,如这个值是空字符串或者1/0这种分母为0的情况。
var a = NaN;
alert(a==a); //false
alert(a===a); //false;
alert(a!=a); //true,这两种是仅有的判断自身是否是NaN的方法
alert(a!==a); //true;
var a = NaN;
var b = 3;
alert(a>=b); //false
alert(a<=b); //false;
alert(a>b); //false;
alert(a<b); //false;
var a = "liebage";
var b = 7;
var c = " ";
var d = "6";
var e = 1/0;
alert(isNaN(a));//true
alert(isNaN(b)); //false
alert(isNaN(c));//false,空格或者空字符串转化为数字0
alert(isNaN(d)); //false,字符转换为数字
alert(isNaN(e)); //false,分母为0,弹出Infinity,表示正无穷大的数值,所以此处弹出false
alert(e); //Infinity,
4.请大家在不复制代码运行的情况下猜下下面几道题的答案,欢迎在我的评论群,进行讨论交流。
var a = "37";
var b = 7;
alert(a+b);
alert(b+a);
alert(a-b);
alert(b-a);
alert(b*a);
alert(a/b);
javascript中=,==,与===的区别;以及特殊值NaN的讲解的更多相关文章
- javascript中&&和||的区别
javascript中&&和||的区别 &&和||操作符两边不是布尔类型时,系统会转换成布尔类型值再计算(空字符串.null.0都会被转成false),结果本身不变. ...
- javascript中=、==、===区别详解
javascript中=.==.===区别详解今天在项目开发过中发现在一个小问题.在判断n==""结果当n=0时 n==""结果也返回了true.虽然是个小问题 ...
- JavaScript中‘==’和'==='的区别
javascript中,两个等号‘==’和三个等号‘===’的区别: 简单说,‘===’比‘==’对相等的概念更为严格,使用‘==’时,数字 1 和 字符串 “1” 是相等的: 而使用‘===’时,数 ...
- javascript 中==和===的区别
对于JavaScript中比较运算符,可能大家用的比较多的是“==”.对于“===”很多人可能很陌生.=== 表示恒等,首先比较两边的变量数据类型是否相等,其次比较两边的变量的数值是否相等:= ...
- Javascript 中的非空判断 undefined,null, NaN的区别
JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS 的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是 ...
- (转载)Javascript 中的非空判断 undefined,null, NaN的区别
原文地址:https://blog.csdn.net/oscar999/article/details/9353713 在介绍这三个之间的差别之前, 先来看一下JS 的数据类型. 在 Java ,C ...
- javascript中几种为false的值
如果JavaScript预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值.转换规则是除了下面六个值被转为false,其他值都视为true. undefined null false 0 ...
- Javascript中“==”与“===”的区别
在Javascript中有"=="和"==="两种比较运行符,那么他们有什么区别呢? 一.对于string,number等基础类型,==和===是有区别的 1) ...
- Javascript中==和===的区别
一.JavaScript"=="的作用 1.当==两边的内容是字符串时,则比较字符串的内容是否相等. 2.当==两边的内容是数字时,则比较数字的大小是否相等. 3.当==两边的内 ...
随机推荐
- 模板 mú bǎn
链式前向星 #include<string.h> #define MAX 10000 struct node { int to,nex,wei; }edge[MAX*+]; ],cnt; ...
- swift 获取文件大小
//获取文件大小 func getSize(url: URL)->UInt64 { var fileSize : UInt64 = 0 do { let attr = try FileManag ...
- NYOJ--86--set.find()--找球号(一)
/* Name: NYOJ--86--找球号(一) Date: 20/04/17 14:45 Description: 理想很美好,现实很残酷,准备用字符串水过,结果TLE了 ╮(╯▽╰)╭ */ # ...
- MySQL、Oracle数据库之操作系统版本选择
玩了快五年的Oracle,期间接触的操作系统大都是linux和aix,其中linux大部分为5.8的红帽子以及centos,oracle可以在上边运行稳定且需要安装其他与oracle相关的rpm包都是 ...
- websocket 70K连接测试
websocket 70K连接测试 最近使用socket.io做了一个实时应用,实时性.稳定性还是很让人满意的.如果拿socket.io来做小型应用,综合效率应该是最高的.但是网上少有socket.i ...
- python编程基础知识—列表(二)
3操作列表 3.1 遍历整个列表 使用for循环 cars = ['bmw','audi','toyota','Jeep'] for i in cars: print(i) bmw audi toyo ...
- qcl注意点
记录下,以后再做总结. 在处理量子位位置时,对于s[2]两个量子位|01>,s[0]表示的是1量子位,s[1]表示的是0量子位,顺序是从右往左走
- iOS绘图框架CoreGraphics分析
由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择会感到有些迷茫,甚至会觉得iOS的图形绘制有些繁琐.因此,本文主要介绍一下iOS的绘图 ...
- Objective-C写出Json文件(可作配置文件)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #008f00 } span. ...
- 解决打包时出现的Failed to verify bitcode
今天给一个老项目打包在导出包的时候报错,可能是因为xcode升级造成的 Failed to verify bitcode in Fuzi.framework/Fuzi: error: Bundle o ...