js中的相等与逗号运算符用法
/**
* 相等运算符 '==',相等则返回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中的相等与逗号运算符用法的更多相关文章
- JS中Array数组的三大属性用法
原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...
- 小程序 js中获取时间new date()的用法(网络复制过来自用)
js中获取时间new date()的用法 获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获 ...
- js中push(),pop(),unshift(),shift()的用法
js中push(),pop(),unshift(),shift()的用法小结 1.push().pop()和unshift().shift() 这两组同为对数组的操作,并且会改变数组的本身的长度及 ...
- Js中获取时间 new date()的用法
Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...
- 简述JS中 appy 和 call 的详细用法
Apply 和 Call 两个老生常言的方法,使用过程的一些细节还是有很大的异同,具体使用情况可以参照下面例子详细回顾一下. 区别和详解:js中call()和apply()的用法 1.关于call() ...
- JS 中一些高效的魔法运算符
这两天有同事说我挺久没更新文章了,不过最近一段时间确实有点忙,一直在忙着两个活动中心的改版,没什么时间来更新文章.今天终于抽空可以写一写. JavaScript 现在每年都会发一个新版本,里面也会新增 ...
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- JS中break continue和return的用法?
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...
- js中获取时间new date()的用法
获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式的时间: myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...
随机推荐
- 四、局域网连接SqlServer
一.局域网连接SqlServer 一台服务器上装有四个数据库的时候,我们可以通过IP\实例名的方式进行访问. navicat 连接sqlserver数据库
- centos(6-7)安装openldap
前言 参考资料: http://yhz61010.iteye.com/blog/2352672 https://www.cnblogs.com/lemon-le/p/6266921.html 实验环境 ...
- Sass Maps的函数-map-values($map)、map-merge($map1,$map2)
map-values($map) map-values($map) 函数类似于 map-keys($map) 功能,不同的是 map-values($map )获取的是 $map 的所有 value ...
- 固定内网ip的方法
ip最后一位找一个不常用的,比如200之后的,ping不通它就用它. 子网掩码,默认网关保持和原来的一样. DNS要填公司的,网上查的不能用,因为他们是互联网上的.主备:XXXXXX/XX (之前填的 ...
- vue之click事件绑定
1.@click不光可以绑定方法,也可以就地修改data里的数据 代码示例代码如下: 2.@click绑定多个操作的时候用:隔开 代码示例代码如下: <el-table><el-ta ...
- JS基础入门篇(四十三)—ES6(二)
1.对象简洁表示法 原来写法 var name = "lzf"; var gender = "male"; var fn = function(){consol ...
- 警惕黑客利用新方法绕过Office安全链接
东方联盟黑客安全研究人员透露,一些黑客已经发现绕过MicrosoftOffice365的安全功能,该功能最初旨在保护用户免受恶意软件和网络钓鱼攻击. 被称为安全链接的功能已被包含在Office365软 ...
- Linux复制命令cp进阶
cp -a:连同属性和权限也一起复制 cp -i:如果不带该参数,默认覆盖同名文件而不会提醒. cp -u:只拷贝符合以下条件的文件到目标目录:目标目录中不存在的文件或目标目录中文件版本较旧的文件. ...
- JavaWeb(五):MVC案例
MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它把应用程序分成三个核心模块:模型.视图.控制器,它们各自处理自己的任务.模型是应用程序的主体部分 ...
- vue项目放在IE上页面空白的问题
Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码 1.npm install babel-polyfill --save 2.main.js中引入 import 'babel-poly ...