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.当==两边的内 ...
随机推荐
- 整理自己的.net工具库
前言 今天我会把自己平日整理的工具库给开放出来,提供给有需要的朋友,如果有朋友平常也在积累欢迎提意见,我会乐意采纳并补充完整.按照惯例在文章结尾给出地址^_^. 之前我开放其他源码的时候(Framew ...
- javascript基础知识3#引用类
引用类 引用类型的只是引用类型的一个实例,在ecmascript当中,引用类型是一种数据结构用于将数据和功能组织在一起,也常被称做类. object类型 构造函数[var o = new object ...
- STextComboBox & SComboBox
//简单智能 SNew(STextComboBox).ContentPadding(5).OptionsSource(&Options).InitiallySelectedItem(Optio ...
- 浅谈odoo 后台与前端文件(附件)的存储与下载
odoo 后台与前端文件(附件)存储与下载实现 笔记太多了很乱,想想还是写博客的好,慢慢更 当然了,前提是你已经配好了odoo开发环境 一.odoo后台界面实现附件的上传和下载 1).在应用中搜索下图 ...
- 微信小程序简单入门1
参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 1 创建项目 开发者工具安装完成后,打开并使用微信扫码登录.选择创建"项 ...
- Heritrix工具实现网络爬虫
上次用的java相关知识实现了一个简单的网络爬虫,现在存在许多开源免费的爬虫工具,相对来说,可以很简单的获取网页数据,并写入到本地. 下面我就阐述一下我用Heritrix爬虫工具实现网页数据爬取. - ...
- 社群系统ThinkSNS V4.5.29 APP更新发布,新增用户认证及系统消息
社群系统ThinkSNS V4版本移动端APP将于7月29日更新发布,本次更新修复部分bug,最主要是增加了移动端APP的用户认证功能,以及添加了系统消息,为V4.5.29版本发布.这两个功能PC端的 ...
- VBS windows监控
http://bbs.csdn.net/topics/230078112'/************************************************************** ...
- luogu2420 让我们异或吧
让我们异或吧 题目描述 异或是一种神奇的运算,大部分人把它总结成不进位加法. 在生活中-xor运算也很常见.比如,对于一个问题的回答,是为1,否为0.那么: (A是否是男生 )xor( B是否是男生) ...
- ASP.NET Core 使用Cookie验证身份
ASP.NET Core 1.x提供了通过Cookie 中间件将用户主体序列化为一个加密的Cookie,然后在后续请求中验证Cookie并重新创建主体,并将其分配给HttpContext.User属性 ...