今天遇到了一个bug。因为有个地区数据是要存在本地的。但要作判断,如果数据为空的话,要发起请求获取数据。
首先我这里的localStorage.getItem(‘AreaList’)是个空数组。
按我的if逻辑来说, [ ] === null 为false,然后就会去判断后面的[ ].length = 0 这里应该是true,那么就会去执行if下面的代码。问题就出现在这里,代码没用执行到。也就是说明 if 的整个判断是 false、
我就把获取到的数据,看看它的typeof ,打印出来发现是string类型。
这里才意识到localStorage存的是字符串(json数据)。如果要执行判断数据类型的操作,事先需要先将数据使用JSON.parse(
) 进行转换为对象。
将代码改成如下,就能执行了。