首页 > 编程语言 >【JavaScript】5_常见的运算符(三种逻辑运算符+关系运算符)

【JavaScript】5_常见的运算符(三种逻辑运算符+关系运算符)

时间:2023-02-07 22:02:14浏览次数:40  
标签:false JavaScript 值为 运算符 三种 result && true

5、逻辑运算符1

! 逻辑非

  • ! 可以用来对一个值进行非运算
  • 它可以对一个布尔值进行取反操作
    true --> false
    false --> true
  • 如果对一个非布尔值进行取反,它会先将其转换为布尔值然后再取反
    可以利用这个特点将其他类型转换为布尔值
  • 类型转换
    转换为字符串
    显式转换
    String()
    隐式转换
    + ""
    转换为数值
    显式转换
    Number()
    隐式转换
    +
    转换为布尔值
    显式转换
    Boolean()
    隐式转换
    !!

&& 逻辑与

|| 逻辑或

<script>
let a = true

a = !a

// console.log(a)

a = 123

a = !!a

console.log(typeof a, a)
</script>

6、逻辑运算符2

&& 逻辑与

  • 可以对两个值进行与运算
  • 当&&左右都为true时,则返回true,否则返回false
  • 与运算是短路的与,如果第一个值为false,则不看第二个值
  • 与运算是找false的,如果找到false则直接返回,没有false才会返回true
  • 对于非布尔值进行与运算,它会转换为布尔值然后运算
    但是最终会返回原值
  • 如果第一个值为false,则直接返回第一个值
    如果第一个值为true,则返回第二个值

|| 逻辑或

  • 可以对两个值进行或运算
  • 当||左右有true时,则返回true,否则返回false
  • 或运算也是短路的或,如果第一个值为true,则不看第二个值
  • 或运算是找true,如果找到true则直接返回,没有true才会返回false
  • 对于非布尔值或运算,它会转换为布尔值然后运算
    但是最终会返回原值
  • 如果第一个值为true,则返回第一个
    如果第一个值为false,则返回第二个
<script>
let result = true && true // true
result = true && false // false
result = false && true // false
result = false && false // false

// true && alert(123) // 第一个值为true,alert会执行
false && alert(123) // 第一个值为false,alert不会执行

// true && true -> true
result = 1 && 2 // 2
// true && false -> false
result = 1 && 0 // 0
// false && false -> false
result = 0 && NaN // 0


result = true || false // true
result = false || true // true
result = true || true // true
result = false || false // false

// false || alert(123) // 第一个值为false,alert会执行
true || alert(123) // 第一个值为true,alert不会执行

result = 1 || 2 // 1
result = "hello" || NaN // "hello"
result = NaN || 1 // 1
result = NaN || null // null
console.log(result)
</script>

7、关系运算符1

关系运算符

  • 关系运算符用来检查两个值之间的关系是否成立
    成立返回true,不成立返回false

\>用来检查左值是否大于右值

/>=

  • 用来检查左值是否大于或等于右值
    <
  • 用来检查左值是否小于右值
    <=
  • 用来检查左值是否小于或等于右值

注意:
当对非数值进行关系运算时,它会先将前转换为数值然后再比较
当关系运算符的两端是两个字符串,它不会将字符串转换为数值,
而是逐位的比较字符的Unicode编码
利用这个特点可以对字符串按照字母排序
注意比较两个字符串格式的数字时一定要进行类型转换

<script>
let result = 10 > 5 // true
result = 5 > 5 // false
result = 5 >= 5 // true

result = 5 < "10" // true
result = "1" > false // true

result = "a" < "b" // true
result = "z" < "f" // false
result = "abc" < "b" // true

result = "12" < "2" // true
result = +"12" < "2" // false

// 检查num是否在5和10之间
let num = 4
// result = 5 < num < 10 // 错误的写法
result = num > 5 && num < 10
console.log(result)
</script>

标签:false,JavaScript,值为,运算符,三种,result,&&,true
From: https://blog.51cto.com/wujianrenn/6042693

相关文章

  • JavaScript的知识点整理
    最近写了一个员工管理作业,暴露了一些问题就是。JS的查找标签的时候,要确定返回的是DOM对象还是数组,document对象可以是任意dom对象,将查询范围限制在当前dom对象,1、直接查......
  • 分支语句及三元运算符
    三元运算符var a=boolean?true:false//boolean是true取truefalse取false表达式算数表达1-1-1条件表达式1-1>1关系表达式true&&1运算符的执行流程示例......
  • 三种方法用Fortran求逆矩阵
    三种方法用Fortran求四阶矩阵的逆矩阵数值计算Crefertohttps://fortranwiki.org/fortran/show/Matrix+inversionSUBROUTINEMATINV(A,B)DIMENSION......
  • JavaScript 解决 query string 乱码问题?
    在JavaScript中获取URL中的querystring时,如果字符串中含有中文字符或特殊字符,可能会遇到乱码问题。为解决这一问题,可以使用decodeURIComponent()函数对整个query......
  • javaScript BOM - 窗口事件,创建定时器与清除定时器
    1.窗口事件事件描述load等页面内容全部加载完毕,包含页面dom元素,图片,flash,css执行DOMContentLoadedDOM加载完毕,不包含图片,flash,css等就可以执行,加载速度比load......
  • K8S 三种探针 ReadinessProbe、LivenessProbe和StartupProbe 之探索【转】
    事件背景因为k8s中采用大量的异步机制、以及多种对象关系设计上的解耦,当应用实例数增加/删除、或者应用版本发生变化触发滚动升级时,系统并不能保证应用相关的servic......
  • 视频直播系统源码,java中Map遍历的三种方式
    视频直播系统源码,java中Map遍历的三种方式一:在for循环中使用entries实现Map的遍历:/***最常见也是大多数情况下用的最多的,一般在键值对都需要使用 */Map<String,String......
  • javaScript DOM - innerText与innerHtml,操作元素的属性,节点的获取,创建,添加,删除,修改
    1.innerText与innerHTML//替换元素里面的内容成文字document.querySelector(".main").innerText="文字";//替换元素里面的内容成标签document.querySelector(".main")......
  • JavaScript - 目录
    javaScript-输入与输出语句,javaScript中的数据类型,字符类型与其它基本数据类型的互相转换,typeof检测数据的数据类型javaScript-数组的创建方式,数组的属性,数组的常用方......
  • Javascript trim()函数实现
    在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的。    方案一:以原型方......