1.判断已经定义的对象是否为空

js文件中需要对data里一些的对象进行判断是否为空
比如这里我要在页面加载时判断data中的record是否为空:

Page({
  data: {
   record:{} //判断record对象是否为空
  },
})

onload()方法中使用Object.key().length>0来判断:

onLoad: function () { 
    let records = wx.getStorageSync('record'); //在内存中读取到记录
    
    this.setData({  //存储读取信息
      record : records
    })
    
    if(Object.keys(this.data.record).length >0){   //判断是否有记录
    	console.log("record有记录");
    }else{
     	console.log("record没有记录");
     }
  },

原因分析:

Object.keys()方法:将给定对象的所有可枚举属性变成一个字符串数组

解释:将需要判断的对象转换为一个字符串数组然后再去判断它的长度,这样就知道其是否为空了。


2.判断未定义的值是否存在

比如这里我要在页面加载时判断record中的name是否存在:

Page({
  data: {
   record:{} 
  },
})

onload()方法中使用typeof()来判断其是否存在:

onLoad: function () { 
    let records = wx.getStorageSync('record'); //在内存中读取到记录
    
    this.setData({  //存储读取信息
      record : records
    })
    //判断是否有记录
    if(Object.keys(this.data.record).length >0){  
     //判断是否name为空
		if(typeof(this.data.record.name) !== 'undefined'){ 
	    	console.log(this.data.record.name);
	    }else{
	    	console.log("name为空");
	    }
    }else{
     	console.log("record没有记录");
     }
  },

原因分析:

typeof()方法:返回一个字符串,表示未经计算的操作数的类型。

全部返回类型:在这里插入图片描述解释:通过typeof()来判断返回的值是否为 underfined 即不存在,如果不是就可以证明这个值存在


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐