今天做状态切换的时候,获取商品列表,后端那边说如果选择全部,status这个字段就不传,然后如果选择待付款的话,状态就传0,我给做的是如果用户点击全部会给status传个“”空字符串,判断status如果等于空字符串就不传这个字段。
let params if(status == ''){ params = { page: 1, size: 4 } }else{ params = { page: 1, size: 4, status: status } }
当我点击待付款的时候status等于0,结果发现返回的还是全部的数据,我当时就纳闷了,status的值没传错啊传的是0,怎么获取的数据还是全部呢,0怎么会和“”空字符串相等呢?然后网上查了一波发现
==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换
===:用来检测两个操作数是否严格相等
然后我又在谷歌控制台测试了一下
所以说以后我们写代码最好还是使用严格模式来写,避免很多弯路。