美文网首页海纳百川
JS函数中if(xxx)与a==b的判断方法

JS函数中if(xxx)与a==b的判断方法

作者: 凛冬已至_123 | 来源:发表于2018-03-10 22:32 被阅读0次

JS函数中if(xxx)与a==b的判断方法

if(xxx)的判断

  • 对于括号里的表达式,会被强制转换为布尔类型
    下面看几个例子:
1. if('hello')
2. if('')
3. if(' ')
4. if('[0]')
5. if('0.00')

其中1、3、4、5括号里的结果为true,2的结果为false
原理

a==b的判断方法

大家先看几道题目:

"" == 0  //题目1
" " == 0  //题目2
"" == true  //题目3
"" == false  //题目4
" " == true  //题目5
!" " == true  //题目6
!" " == false  //题目7
"hello" == true  //题目8
"hello" == false //题目9
"0" == true  //题目10
"0" == false  //题目11
"00" == false  //题目12
"0.00" == false  //题目13
undefined == null  //题目14
{} == true  //题目15
[] == true  //题目16
var obj = { 
  a: 0, 
  valueOf: function(){return 1} 
} 
obj == "[object Object]"  //题目17
obj == 1  //题目18
obj == true  //题目19

其中true为:1、2、4、7、9、11、12、13、14、18、19,其余为false,不知大家都算对了吗?!
下面看一下原理
解密


toNumber

toPrimitive

对于 Object 类型,先尝试调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果

相关文章

  • JS函数中if(xxx)与a==b的判断方法

    JS函数中if(xxx)与a==b的判断方法 if(xxx)的判断 对于括号里的表达式,会被强制转换为布尔类型下面...

  • js函数中的if判断和a==b判断

    if判断 括号内的表达式,会被强制转换为布尔类型 原理 a==b的判断的规则如下: 1、如果两个值类型相同,进行 ...

  • 2021-03-04

    js 判断执行顺序 手动编写new方法 为什么输出函数 首先进行变量提升b,然后执行自定义函数,里面的b = 20...

  • 2017-4-1 VUE

    JS的方法 1、类型判断的方法 2、创建对象构造函数 3、JS基础函数和语法

  • if(xxx)和a == b的判断方法

    if(xxx)括号中的表达式会被强制转换成布尔类型,其转化遵循如下规则: undefined false N...

  • 2019-04-07

    JS中关于if(xx)与a==b的判断 if(xx)的判断 1.if(number) 当if中是number为+0...

  • h5页面 判断网页在哪打开

    获取浏览类型与系统的函数 前端H5用js判断页面在IOS,Android,微信,pc端打开的方法 js判断H5页面...

  • Vue.js+find方法根据数据的一个值来查找到这个数据的全部

    js中的find()方法 IE 11 及更早版本不支持 find() 方法返回通过测试(函数内判断)的数组的第...

  • 2018-04-28 学习is-sorted模块笔记

    js数组中的sort方法的排序规则: sort中可以传入一个函数,比较函数接受a,b两个参数; 当函数返回值小于0...

  • 2017-12-26

    js中判断数据类型的几种方法(一) js中可以判断数据类型的方法有四种:typeof、toString、const...

网友评论

    本文标题:JS函数中if(xxx)与a==b的判断方法

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