/**
* 相等运算符 '==',相等则返回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. jieba库的使用

    jieba库的使用 jeiba库是一款很优秀的用于中文分词的第三方库,它通过一个汉词词典来确定汉字之间的关联概率,将概率较大的组成分词. 精准模式 把文本精准的分割开来,不存在冗余单词. jieba. ...

  2. OpenStack虚拟机网络问题

    当发现你的OpenStack虚拟机网络有问题,不妨先试一下这16个步骤   1. Security Group全部打开,这是最基本的,但是很多人容易忘记 其实遇到过无数这种场景了,Debug了半天网络 ...

  3. 苹果的AR赌注仍然有很多需要证明的

    苹果公司为开发者主题发布会做准备,其中一个更大的公告很可能是其增强现实平台的新变化.自从去年宣布ARKit以来,这家科技巨头几乎对其对AR的潜力抱有信心. 在很多讨论背后,人们都相信技术的实用性,但在 ...

  4. 05.配置为开发模式、配置静态资源locations、自定义消息转化器、FastJson

    配置为开发模式,代码做了修改,不用重新运行 idea需要该配置,mac测试无效 <dependency> <groupId>org.springframework</gr ...

  5. network ---边赋予权重

    有向图和无向图都可以给边赋予权重,用到的方法是add_weighted_edges_from,它接受1个或多个三元组[u,v,w]作为参数,其中u是起点,v是终点,w是权重.例如: G.add_wei ...

  6. Quartz.Net 任务调度之时间策略(4)

    在复杂的业务逻辑中,cron可以灵活的制定时间策略 先说使用方法 ITrigger trigger = TriggerBuilder.Create() .WithIdentity("trig ...

  7. 咱们从头到尾讲一次 Flink 网络流控和反压剖析

    本文根据 Apache Flink 系列直播整理而成,由 Apache Flink Contributor.OPPO 大数据平台研发负责人张俊老师分享.主要内容如下: 网络流控的概念与背景 TCP的流 ...

  8. shell脚本学习(4)cut

    cut 的两种用法 1种是 -c list   剪切字符串中特定位置的文字, /etc/passwd中的原始数据: yuyuyu:x:1000:1000:yuyuyu,,,:/home/yuyuyu: ...

  9. php fmod()函数 语法

    php fmod()函数 语法 作用:fmod()函数的作用是两个数值做除法运算后的余数 语法:fmod(X,Y).大理石平台哪家好 参数: 参数 描述 X 必须,X为除数 Y 必须,被除数,如果Y为 ...

  10. Java和Tomcat的关系 Java如何发布web服务

    https://blog.csdn.net/qq_31301961/article/details/80732669 除了Tomcat还有WebLogic 大型分布式的 如何部署映射 Tomcat使用 ...