简述a==b和if(xx)判断的方法

a==b的判断方法

‘==’是javaScript的相等操作符,‘==’会先转换操作数然后进行比较。

转换不同的数据类型时,会遵循如下规则:

  • 如果有一个操作数是布尔值,在比较之前会将其转换为数值--true转换成1,false转换成0;
  • 如果一个操作数是字符串,另一个操作数是数值,会将字符串转换成数值;
  • 如果一个操作数是对象,而另一个操作数不是,则会调用对象的valueOf()方法,然后进行比较。

比较时会遵循如下规则:

  • null和undefined相等;
  • 比较相等前,null和undefined不会转换成任何值;
  • 如果有一个数是NaN,则相等操作符返回false,NaN和任何操作数都不相等,即使是和NaN自身也不相等
  • 如果两个操作数都是对象,比较他们是不是指向同一个对象。如果是,返回true,否则返回false。

以下特殊情况返回true

null == undefined
false == 0
true == 1
"5" == 5

以下特殊情况返回false

NaN == NaN
undefined == 0
null == 0

if(xx)的判断方法

if语句的写法

if(condition) statement1 else statement2

其中condition可以是任何表达式,如果condition为非布尔值,javaScript会自动调用Boolean()转换函数将结果转换成布尔值。如果返回的是true,则执行stament1,否则执行statement2。

condition为以下值时,对其调用Boolean()转换函数会返回false(注:condition为NaN也会返回false):

condition = undefined
condition = null
condition = ''
condition = 0

condition为以下特殊值时,对其调用转换函数Boolean()会返回true:

condition = ' '
condition = []
condition = '0'
condition = {}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是 JavaScript 语言? JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script...
    oWSQo阅读 1,817评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 本章内容 语法 数据类型 流控制语句 理解函数 3.1 语法 3.1.1 区分大小写 区分大小写 3.1.2 标识...
    闷油瓶小张阅读 735评论 0 0
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 1,168评论 0 0
  • 我自幼生长在一个小村庄里,记忆中的农村,在春天的时候,放眼望去,农田里一片片绿油油的小麦;夏天的田地里,一片...
    自由和人生阅读 297评论 0 1