zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    计算几何 判断点在直线的左右哪一侧
    图论 迪杰斯特拉dijkstra求最短路径
    图论 用prim法求最小生成树
    图论 邻接表广搜
    图论 用广搜搜邻接矩阵
    图论 邻接表建图+dfs
    图论 邻接矩阵建图+dfs遍历
    HDU 2141 二分查找
    二叉树知道前序和中序求后序,知道中序后序求中序
    二叉树的查找
  • 原文地址:https://www.cnblogs.com/liebagefly/p/7496859.html
Copyright © 2011-2022 走看看