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的讲解的更多相关文章

  1. javascript中&&和||的区别

    javascript中&&和||的区别 &&和||操作符两边不是布尔类型时,系统会转换成布尔类型值再计算(空字符串.null.0都会被转成false),结果本身不变. ...

  2. javascript中=、==、===区别详解

    javascript中=.==.===区别详解今天在项目开发过中发现在一个小问题.在判断n==""结果当n=0时 n==""结果也返回了true.虽然是个小问题 ...

  3. JavaScript中‘==’和'==='的区别

    javascript中,两个等号‘==’和三个等号‘===’的区别: 简单说,‘===’比‘==’对相等的概念更为严格,使用‘==’时,数字 1 和 字符串 “1” 是相等的: 而使用‘===’时,数 ...

  4. javascript 中==和===的区别

        对于JavaScript中比较运算符,可能大家用的比较多的是“==”.对于“===”很多人可能很陌生.=== 表示恒等,首先比较两边的变量数据类型是否相等,其次比较两边的变量的数值是否相等:= ...

  5. Javascript 中的非空判断 undefined,null, NaN的区别

    JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS  的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是 ...

  6. (转载)Javascript 中的非空判断 undefined,null, NaN的区别

    原文地址:https://blog.csdn.net/oscar999/article/details/9353713 在介绍这三个之间的差别之前, 先来看一下JS  的数据类型. 在 Java ,C ...

  7. javascript中几种为false的值

    如果JavaScript预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值.转换规则是除了下面六个值被转为false,其他值都视为true. undefined null  false  0 ...

  8. Javascript中“==”与“===”的区别

    在Javascript中有"=="和"==="两种比较运行符,那么他们有什么区别呢? 一.对于string,number等基础类型,==和===是有区别的 1) ...

  9. Javascript中==和===的区别

     一.JavaScript"=="的作用 1.当==两边的内容是字符串时,则比较字符串的内容是否相等. 2.当==两边的内容是数字时,则比较数字的大小是否相等. 3.当==两边的内 ...

随机推荐

  1. STextComboBox & SComboBox

    //简单智能 SNew(STextComboBox).ContentPadding(5).OptionsSource(&Options).InitiallySelectedItem(Optio ...

  2. POJ-1861-NETWORK 解题报告

    Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 16628   Accepted: 6597   Specia ...

  3. (转载)Stackoverflow评选的C++推荐书单

    C++必读书籍推荐 (原链接:http://bestcbooks.com/recommended-cpp-books 2013-10-07) 本文内容来自国外著名编程问答网站Stackoverflow ...

  4. HTML+CSS+JS简介

    1.HTML与 CSS 1 1.1 HTML 1 1.2 HTML5 2 1.2.1 HTML5的特性 3 1.3  CSS 4 2.JavaScript 6 2.1特性 7 2.2编程 8 3.Sp ...

  5. .NET Exceptionless 日志收集框架本地环境搭建

    一.简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等 ...

  6. RMAN 备份异机恢复 并创建新DBID

    测试平台信息: Oracle:11gR2 操作系统:Redhat 5.5 Target DB:dave   几点说明: (1)RMAN 异机恢复的时候,db_name必须相同. 如果说要想改成其他的实 ...

  7. GO中的数组切片

    GO中的数组切片可以看做是功能更强大的数组,在append数据时,可以自动调整内存大小以适应数据实际大小,有些类似于C#中的List<T>. GO 中数组切片的“容量”与实际储存的大小可以 ...

  8. html常用的基本标签

    html的基本标签 一.head部分的标签 1.<!DOCTYPE html>文档类型声明,让浏览器按照html标准对代码进行解释与执行:文档类型声明必不可少,而且,必须在文档最上方:如果 ...

  9. HTML-标签:图片 超链接

    [img图片标签] 1,src属性:表示图片所在的路径. [路径的表示方式] ① 网络图片地址.并不建议使用. ② 可以使用图片的绝对路径.但是严禁使用绝对路径,因为绝对路径使用file://协议,网 ...

  10. python2 接口测试一般方法.

    接口测试方法: 1. import requests 2. 创建一个url变量,并经访问的地址赋值给它.(包括端口后面的 接口的部分) 例如: url = "http://124.193.9 ...