/**
* 相等运算符 '==',相等则返回true,不等则返回false
* - 用 '==' 来比较两个值时,若值的类型不同,则会自动进行类型
* 转换,将其转换为相同的类型然后再进行比较。
*/
// 类型相同都是数字类型,直接比较
console.log(`1 == 1 为 ${1 == 1}`); // 1 == 1 为 true
// 类型不同,一个数字,一个字符串,会自动的将字符串 '1'
// 转换成数字为 1,再进行比较
console.log(`1 == '1' 为 ${1 == '1'}`); // 1 == '1' 为 true
// 字符串与布尔型进行比较,会先将左边的true转换成数字为 1,然后将右边
// 的字符串 '1' 转换成数字为 1,显然是相等的
console.log(`true == '1' 为 ${true == '1'}`); // true == '1' 为 true
// 类型不同,这种情况比较特殊,没有把 null 转换成数字进行比较
console.log(`null == 0 为 ${null == 0}`); // null == 0 为 false
// undefined 衍生自 null,两者做相等比较时是 true
console.log(`undefined == null 为 ${undefined == null}`); // undefined == null 为 true
// NaN 不和任何值相等,包括其本身
console.log(`1 == NaN 为 ${1 == NaN}`); // 1 == NaN 为 false
// NaN 与其自身比较为 false
console.log(`NaN == NaN 为 ${NaN == NaN}`); // NaN == NaN 为 false // 可以用 isNaN() 函数来判断一个值是否是 NaN,是则返回true,
// 否则返回false。
var n1 = NaN;
console.log(`isNaN(n1) = ${isNaN(n1)}`); // isNaN(n1) = true /**
* 不等运算符 '!=',不相等则返回true,相等则返回false
* - 用 '!=' 来比较两个值时,若值的类型不同,则会自动进行类型
* 转换,将其转换为相同的类型然后再进行比较。
*/
// 1与'1'比较
console.log(`1 != '1' 为 ${1 != '1'}`); // 1 != '1' 为 false /**
* 全等运算符 '==='
* - 用来判断两个值是否全等,和相等类似,不同的是它不会做自动的类型转换
* 如果两个值的类型或者值不同,直接返回false,如果两个值的类型和值都相同,则
* 返回true。
*
* 不全等运算符 '!=='
* - 用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换
* 如果两个值的类型或者值不同,直接返回true,如果两个值的类型和值都相同,则
* 返回false。
*/
// 值相等,但类型不同
console.log(`null === undefined 为 ${null === undefined}`); // null === undefined 为 false
// 值相等,但类型不同
console.log(`1 !== '1' 为 ${1 !== '1'}`); // 1 !== '1' 为 true /**
* 条件运算符也叫三元运算符
* - 语法:
* 条件表达式 ? 语句1 : 语句2;
* - 执行流程:
* 条件运算符在执行时,首先对条件表达式进行求值,
* 如果该值为true,则执行语句1,并返回执行结果
* 如果该值为false,则执行语句2,并返回执行结果
* 如果条件表达式的求值结果是一个非布尔值,则会
* 将其转换为布尔值然后再运算
*/
// 布尔值
console.log(`1 > 2 ? true : false 结果为 ${1 > 2 ? true : false}`); // 1 > 2 ? true : false 结果为 false
// 非布尔值
console.log(`'hi' ? true : false 结果为 ${'hi' ? true : false}`); // 'hi' ? true : false 结果为 true /**
* ',' 运算符
* - 可以用来分割多个语句,一般在声明多个变量时适用
*/
// 同时声明多个变量并赋值
var a, b = 'hello world', c = 1;

js中的相等与逗号运算符用法的更多相关文章

  1. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  2. 小程序 js中获取时间new date()的用法(网络复制过来自用)

    js中获取时间new date()的用法   获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获 ...

  3. js中push(),pop(),unshift(),shift()的用法

    js中push(),pop(),unshift(),shift()的用法小结   1.push().pop()和unshift().shift() 这两组同为对数组的操作,并且会改变数组的本身的长度及 ...

  4. Js中获取时间 new date()的用法

    Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...

  5. 简述JS中 appy 和 call 的详细用法

    Apply 和 Call 两个老生常言的方法,使用过程的一些细节还是有很大的异同,具体使用情况可以参照下面例子详细回顾一下. 区别和详解:js中call()和apply()的用法 1.关于call() ...

  6. JS 中一些高效的魔法运算符

    这两天有同事说我挺久没更新文章了,不过最近一段时间确实有点忙,一直在忙着两个活动中心的改版,没什么时间来更新文章.今天终于抽空可以写一写. JavaScript 现在每年都会发一个新版本,里面也会新增 ...

  7. JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符

    文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...

  8. JS中break continue和return的用法?

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...

  9. js中获取时间new date()的用法

    获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式的时间: myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...

随机推荐

  1. unity ui坐标系转换

    世界坐标: transform.position获取的是世界坐标 屏幕坐标: 单位像素 屏幕左下角(0,0)右上角(Screen.width,Screen.height) Screen.width = ...

  2. React(5) --绑定函数事件

    绑定函数事件 在以类继承的方式定义的组件中,为了能方便地调用当前组件的其他成员方法或属性(如:this.state),通常需要将事件处理函数运行时的 this 指向当前组件实例. run(){     ...

  3. openssl版本升级

    1.查看openssl版本 [root@node2 openssh-8.0p1]# openssl version OpenSSL 1.0.1e-fips 11 Feb 2013 2.下载指定版本的o ...

  4. Machine Learning:机器学习算法

    原文链接:https://riboseyim.github.io/2018/02/10/Machine-Learning-Algorithms/ 摘要 机器学习算法分类:监督学习.半监督学习.无监督学 ...

  5. k8s阅读笔记1-云原生

    前言 阅读书籍地址https://rootsongjc.gitbooks.io/kubernetes-handbook/content/cloud-native/cloud-native-defini ...

  6. jenkins持续集成(三): jenkins配置邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

  7. jenkins持续集成(一): 在Linux下的安装与配置

    撸了今年阿里.网易和美团的面试,我有一个重要发现.......>>> 前提: 安装了JDK,并配置好环境变量:JAVA_HOME 安装了Maven,并配置好环境变量:MAVEN_HO ...

  8. 利用jmeter发起java请求调用shell脚本

    1.创建maven项目 在pom文件中加入依赖:     2.在路径src/main/java下创建类,如类名shellclass                     3.      创建jmet ...

  9. webdriver原理

    WebDriver 安装C/S构架设计的: 代码(客户端)--->驱动(解析代码)----->浏览器(服务端) 代码通过http请求发给浏览器驱动,驱动解析代码把他们发给浏览器,浏览器执行 ...

  10. Autoit 3 常用的语句

    {系统环境变量} EnvUpdate ( ) ;更新环境变量 EnvGet ( "变量名称" ) ;取环境变量 ClipGet ( ) ;取剪辑板文本 EnvSet ( " ...