下面来讲解一下比较专业的方法,具体方法如下所示。
JS判断对象是否为空的方式有五种,其中目前比较流行的有三种:JSON.stringify()、for…in 循环判断、Object.keys(),剩余两种为:jquery的isEmptyObject方法、Object.getOwnPropertyNames()方法。本文只来讲解一下当下比较常用的三种判断对象对象是否为空的方法,剩下的两种这里不再介绍。
方法一:JSON.stringify()方法来进行对象**(obj)**是否为空的判断。
通过JSON.stringify()将json对象转化为json字符串,再判断该字符串是否为”{}”,这就直接可以得出来这个对象是否为空。
var data = {};
var a = (JSON.stringify(this.projectData) === “{}”); //把data转换为字符串a
if(a === true)){ //如果data为空,返回为true
return;
}
方法二:for…in 循环判断
通过for…in 循环来判断对象**(obj)是否为空,直接通过for…in**循环来对对象进行处理。
var data = {};
var a = function() {
for(var key in data) {
return false;
}
return true;
}
alert(a()); //为true,说明data为空对象
方法三:Object.keys()
通过Object.keys()来进行对象**(obj)**是否为空的判断,该方法也是ES6新增的方法, 返回值是对象中属性名组成的数组。
var data = {};
var array = Object.keys(data);
if(array.length === 0){ //如果数组array的长度为0 ,则返回为true,说明data对象为空
return ;
}
示例
–
最后举一个实战中的简单实例,一目了然的来使用JS判断对象**(obj)**是否为空的方式,eg:
nextClick() {
console.log(“this.projectData”,this.projectData); //打印出来this.projectData
var tmpStr = (JSON.stringify(this.projectData) === “{}”); //根据this.projectData打印出来的结果,对this.projectData进行json格式的转换,然后就可以直接使用转换后的格式,true为空
if (tmpStr == true) { //true为空
this.$toast(“请选择!”);
return;
}
},
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://img-blog.csdnimg.cn/img_convert/2efa91325026690d922dd35495873a70.jpeg)
最后
基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。
什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽
也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。
什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽