<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript"> /*
* 相等运算符用来比较两个值是否相等,
* 如果相等会返回true,否则返回false
*
* 使用 == 来做相等运算
* - 当使用==来比较两个值时,如果值的类型不同,
* 则会自动进行类型转换,将其转换为相同的类型,然后再比较
*
* 不相等
* 不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
* - 使用 != 来做不相等运算
* - 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
*
*
* ===
* 全等
* - 用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换
* 如果两个值的类型不同,直接返回false
* !==
* 不全等
* - 用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换
* 如果两个值的类型不同,直接返回true
*/ console.log(1 == 1); //true var a = 10;
console.log(a == 4); //false //自动进行类型转换,将其转换为相同的类型,然后再比较
console.log("1" == 1); //true //大部分情况会转成number类型
console.log(true == "1"); //true //没转成number类型
console.log(null == 0); //false /*
* undefined 衍生自 null
* 所以这两个值做相等判断时,会返回true
*/
console.log(undefined == null); //true /*
* NaN不和任何值相等,包括他本身
*/
console.log(NaN == NaN); //false var b = NaN;
//判断b的值是否是NaN,那没法判断b是不是NaN?我们可以用isNaN()函数
console.log(b == NaN); //false /*
* 可以通过isNaN()函数来判断一个值是否是NaN
* 如果该值是NaN则返回true,否则返回false
*/
console.log(isNaN(b));//true //---------------------------------------------------------------------- //如果不相等返回true,否则返回false
console.log(10 != 5); //true console.log(10 != 10); //false console.log("abcd" != "abcd"); //false //不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
console.log("1" != 1); //false //---------------------------------------------------------------------- //不会做自动的类型转换,如果两个值的类型不同,直接返回false
console.log("123" === 123); //false console.log(null === undefined); //false //不会做自动的类型转换,如果两个值的类型不同,直接返回true
console.log(1 !== "1"); //true </script>
</head>
<body>
</body>
</html>

JS基础_相等运算符的更多相关文章

  1. JS基础_关系运算符

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. JS基础_算数运算符

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JS基础6--逻辑运算符

     &&与  ||或   !非      如果对一个值进行两次取反,它不会变化      如果对一个非布尔值进行取反,则会将其转换为布尔值,再取反      所以我们可以利用该特点.来将 ...

  4. JS基础_运算符的优先级

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. JavaScript基础一(js基础函数与运算符)

    [使用js的三种方式] 1.在HTML标签中,直接内嵌js(并不提倡使用) <button onclick=" alert('点就点')"> 点我啊</butto ...

  6. JS基础_属性名和属性值

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. JS基础_数据类型-Number类型

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. JS基础_标识符

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. JS基础_全局作用域

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. R语言:各类型数据文件的导入

    导入csv: read.csv() 导入txt: read.table() 注意,txt文件编码为unicode的导入r会报错,需转换成ANSI 读入excel:需要安装xlsx包,安装此包前先下载好 ...

  2. 火车购票问题(16年ccf)

    火车购票问题(16年ccf) 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排5个座位.为方便起见,我们用1到100来给所有的座位编号,第一 ...

  3. 只要你用atom修改后保存代码文件的时候,你在chrome上的页面就会自动刷新。

    学习html和css的时候Ctrl+s 以后预览网页需要手动刷新 现在不用了 给chrome安装安装LivePage这个插件. 只要你用atom修改后保存代码文件的时候,你在chrome上的页面就会自 ...

  4. LC 813. Largest Sum of Averages

    We partition a row of numbers A into at most K adjacent (non-empty) groups, then our score is the su ...

  5. 批量执行(Linux命令,上传/下载文件)

    前言: 每个公司的网络环境大都划分 办公网络.线上网络,之所以划分的主要原因是为了保证线上操作安全: 对于外部用户而言也只能访问线上网络的特定开放端口,那么是什么控制了用户访问线上网络的呢? 防火墙过 ...

  6. 一百二十二:CMS系统之页面抽离和登录页面

    将登录和注册需要的共性标签抽离出来做父模板 将css改名为base base模板 {% from 'common/_macros.html' import static %}<!DOCTYPE ...

  7. VLAN和VXLAN的区别

    VLAN ·概况 VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义.由于交换机是工作在链路层的网络设备,连接 ...

  8. eclipse中Maven web项目的目录结构浅析

    刚开始接触maven web项目的时候,相信很多人都会被它的目录结构迷惑. 为了避免初学者遇到像我一样的困扰,我就从一个纯初学者的视角,来分析一下这个东西. 1,比如说,我们拿一个常见的目录结构来看, ...

  9. Python 的内置函数__import__

    我们知道import语句是用来导入外部模块的,当然还有from...import...也可以,但是其实import实际上是使用builtin函数__import__来工作的.     在一些程序中,我 ...

  10. 【ARM-Linux开发】Linux的SOCKET编程详解

    Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系 ...