比较运算符:

> 、>= 、<、 <=、  ==、 !=、 ===、 !==、

比较运算符的结果都为布尔值

==只比较值是否相等    而    ===比较的是值和数据类型都要相等

 <script>
var a = 5,b = 10;
alert(a>b) //=>false
alert(a>=b) //=>false
alert(a>=5) //=>true 大于等于里面只要满足一样则都返回true
alert(a<b) //=>true
alert(a<=b) //=>true 小于等于里面只要满足一样则都返回true
alert(1==true) //=>true
alert(0==false) //=>true 把类型进行了隐式转换的比较
alert(0==null) //=>false
alert(undefined == null) //=>true undefined 和true的值是相等的
alert(NaN == NaN) //=>false NaN是不能进行自身比较的
alert(undefined === null) //=>false undefined 和 true进行恒等比较则返回false ,因为他们值相同数据类型不同
</script>

逻辑运算符:

&& 、|| 、!

逻辑运算符的返回结果是布尔类型

在逻辑&& 和 ||必须要求两个表达式

&&如果第一个表达式为false造成短路

||如如第一个表达式为true造成短路

 <script>
//&&逻辑运算符,必须要求两个表达式
alert(true && true) //=>true 在逻辑&&中只要一个表达式为true则为true
alert(true && false) //=>false
alert(false && true) //=>false 这三种里只要一个为false则为false
alert(false && false) //=>false
var i = 0,j =1
if(i++ && j--){ //i=0 隐式转换为了false
alert(true)
}else{ //=>判断出来为false
alert(false)
}
alert(i) //=>因为经过i++ 所以i=1
alert(j) //j=>1 因为断点的原因,第一个表达式为false,不会再执行第二个表达式,所以J还是等于1
</script>
 <script>
//||逻辑运算符,必须要求两个表达式
alert(true || true) //=>true 在逻辑&&中只要一个表达式为true则为true
alert(true || false) //=>true
alert(false || true) //=>true 这三种里只要一个为false则为false
alert(false || false) //=>false
var i = 1,j =1
if(i++ || ++j){ //i=1 隐式转换为了true
alert(true)
}else{ //=>判断出来为ture
alert(false)
}
alert(i) //=>因为经过i++ 所以i=2
alert(j) //j=>1 因为断点的原因,第一个表达式为ture,不会再执行第二个表达式,所以J还是等于1
</script>
 <script>
//!逻辑运算符,必须要求两个表达式
alert(!true) //=>返回为false
alert(!false) //=>返回为true 以上都是取反
</script>

js 表达式与运算符 详解(下)的更多相关文章

  1. js 表达式与运算符 详解(上)

    表达式: 表达式是用于JavaScript脚本运行时进行计算的式子,可以包含常量.变量.运算符 <script> var r = 2 var pi = 3.14 var circle = ...

  2. [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)

    本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一.把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entr ...

  3. js调试工具Console命令详解

    这篇文章主要介绍了js调试工具Console命令详解,需要的朋友可以参考下   一.显示信息的命令 复制代码 代码如下: < !DOCTYPE html> < html> &l ...

  4. JQ的offset().top与js的offsetTop区别详解

    一.前言 最近在做一个图片懒加载的插件,就纵轴(Y轴)而言,我需要时时获取图片的上偏移量,好判断是否已进入视图区域,而我所理解的是offsetTop应该是跟offset().top一样的,然后陷入了因 ...

  5. Net is as typeof 运行运算符详解 net 自定义泛型那点事

    Net is as typeof 运行运算符详解   概述 在了解运行运算符的前提我们需要了解什么是RTTI ,在任何一门面向对象的语言中,都有RTTI这个概念(即 运行时). RTTI(Run-Ti ...

  6. JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离

     壹 ❀ 引 我在 JQ的offset().top与js的offsetTop区别详解 这篇博客中详细分析了JQ方法offset().top与JS属性offsetTop的区别,并得出了一条offset( ...

  7. SSL/TLS协议详解(下)——TLS握手协议

    本文转载自SSL/TLS协议详解(下)--TLS握手协议 导语 在博客系列的第2部分中,对证书颁发机构进行了深入的讨论.在这篇文章中,将会探索整个SSL/TLS握手过程,在此之前,先简述下最后这块内容 ...

  8. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  9. JS中this关键字详解

    本文主要解释在JS里面this关键字的指向问题(在浏览器环境下). 阅读此文章,还需要心平气和的阅读完,相信一定会有所收获,我也会不定期的发布,分享一些文章,共同学习 首先,必须搞清楚在JS里面,函数 ...

随机推荐

  1. A*寻路算法的探寻与改良(一)

    A*寻路算法的探寻与改良(一) by:田宇轩                                                                    第一部分:这里我们主 ...

  2. hdu1026 Ignatius and the Princess I (优先队列 BFS)

    Problem Description The Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has ...

  3. Android开发工具GenyMotion安装和使用方法

          好长时间没有再接触Android了,以至于GenyMotion出现这么久了,我还没有试用过,记得当时发布Android Studio时,当天我就开始试用了,好吧,看到GenyMotion这 ...

  4. intellij安装 配置 创建项目

    使用intellij创建项目的整个过程如下: 首先,点击intllij的.exe文件,如果是第一次安装,选择第二个选项即可 Intellij需要license key,可以使用注册机生成相应的name ...

  5. 【设计模式 - 5】之适配器模式(Adapter)

    1      模式简介 适配器模式解决的问题:让原本因为接口不兼容而不能一起工作的类可以一起工作. 适配器模式的UML原理图如下图所示: 从上图可见,客户想要用Target接口实现Adaptee接口中 ...

  6. div+css3列布局,带详尽注释

    直接看代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  7. viewpager+fragment学习笔记

    有暇,总结一下viewpager+fragment的使用. 先来看看效果图: 有三个标题,三个fragment,滑动时标题的颜色会随着变化. MainActivity.java public clas ...

  8. Java基础知识强化之集合框架笔记29:使用LinkedList实现栈数据结构的集合代码(面试题)

    1. 请用LinkedList模拟栈数据结构的集合,并测试:  题目的意思是:     你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟,使用LinkedList功能方法封装成 ...

  9. 运行yum报错:Error: Cannot retrieve metalink for repository: epel. Please verify its path

    Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again 当我们安装第三方扩 ...

  10. Windows开启Telnet

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/4301513.html ...