美文网首页
在JS中,if(){}以及==的类型转换

在JS中,if(){}以及==的类型转换

作者: c5b5be41954a | 来源:发表于2019-04-20 17:09 被阅读0次

在js中,“==”以及if()中的类型判断以及转换。
对于if括号里的表达是,会被强制转换成布尔类型。

类型 结果
underfined false
null false
boolean 直接判断
number 0或者NaN为false,其他为true
string 空字符串为false,其他为true
object true

而对于“==”的判断,相比if要麻烦的多。不过还是有规律可以总结的,如下:

x y 结果
null underfined true
number string x==toNumber(y)
boolean (any) toNumber(x)==y
object string OR number toPrimitive==y
otherwise otherwise false

ToNumber

类型 结果
underfined NaN
null 0
boolean true=>1,false=>0
string "abc"=>NaN,"123"=>123

ToPrimitive
对于object来说,会先调用.valueOf的方法获取结果,如果没有定义,再调用.toString的方法获取结果

相关文章

  • 在JS中,if(){}以及==的类型转换

    在js中,“==”以及if()中的类型判断以及转换。对于if括号里的表达是,会被强制转换成布尔类型。 而对于“==...

  • js中的类型转换

    在js中数据转换分为3种:隐式类型转换,强制类型转换,函数转换 1.隐式类型转换 (1):运算符转换 js中的值在...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • js中的布尔类型转换

    js中的布尔类型转换 在js中经常会遇到其他类型的值转换为布尔类型的情况,总的来说js中的值可以分为以下两类 :(...

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

  • js的复习(俊俊版)

    JS中typeof的类型有哪些 类型转换 注意:对象在转换基本类型时,首先会调用 valueOf 然后调用 toS...

  • js在不同类型的值比较时的隐性类型转换

    我们知道在js中,==是进行的值比较,在比较运算之前,js会将不同类型的值转换为相同类型的值在进行比较,转换情况如...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

网友评论

      本文标题:在JS中,if(){}以及==的类型转换

      本文链接:https://www.haomeiwen.com/subject/vudlgqtx.html