JS如何判断空对象,及typeof和instanceof的区别
来源:互联网 发布:领淘宝优惠券的软件 编辑:程序博客网 时间:2024/05/17 09:11
一、ECMAScript中有5种基本数据类型,分别为Undefined,Null,Boolean,Number,String。另外还有一种复杂数据类型Object,Object本质上是由一组无序的名值对组成的。创建Object实例有两种方法,第一种是使用new操作符后跟Object构造函数,如下代码所示:
var student=new Object();student.name="zhou";student.age="24";
另外一种是使用对象字面量表示法,它是定义对象的一种简单表示方法,在于简化创建包含大量属性的对象的过程。如下代码所含:
var student={ name:"zhou", age:"24",};
简单的了解一下对象,关于JS如何判断一个对象是否为空,它不能像java这样的高级语言直接利用等值判断(==null)来判断,由于Object实质上是一种无序的名值对即字典,所以可以通过检测对象中是否有key值来判断对象是否为空。在Jquery中的一种方法是利用isEmptyObject()这个函数自定义实现,利用for…in…迭代实现,代码如下所示:使用这个函数的代码为:$.isEmptyObject(obj);
function isEmptyObject(obj){ for(var key in obj) { return false; } return true; }
当然对于原生的JS也可以通过这种方式实现,通过使用isEmptyObject(obj)。
二、typeof用于检测运算符的类型,它的返回值有以下几种情况:number,string,boolean,function,object,undefined,可以检测某个变量是否存在,如if(typeof(a)==”undefined”);而对于的特殊的Array和Null,typeof仍返回的是Object。
instanceof用于判断某个变量是否属于某个对象的实例,例如以下代码:
var a={};console.log(a instanceof Object);//true
前面已经讲到typeof遇到null,Array都会返回object,可以使用instaceof判断一个变量是否属于数组对象,如var a=new Array(),console.log(a instanceof Array);//true
- JS如何判断空对象,及typeof和instanceof的区别
- typeof和instanceof的区别以及如何判断一个数组
- JavaScript 中 typeof 和 instanceof 的区别及如何判断数组
- JS typeof 和 instanceof 的区别
- js中typeof和instanceof的区别
- js中typeof和instanceof的区别
- js中instanceof和typeof的区别
- js typeof和instanceof的区别
- js 中的 typeof 和 instanceof 的区别
- js中typeof和instanceof的区别
- js之【typeof和instanceof的区别】
- js中typeof和instanceof的区别
- JS中typeof和instanceof的区别
- js typeof 和instanceof的区别
- js中typeof和instanceof的区别
- js中typeof和instanceof的区别。
- js中的typeof和instanceof的用法和区别(附类型判断方法)
- typeof 和 instanceof 的区别
- Codeforces Round #402 (Div. 2) C. Dishonest Sellers(贪心)
- java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils是什么问题
- Linux平台安装MongoDB
- const关键字
- 浅谈android的MVP设计模式之内存泄露问题
- JS如何判断空对象,及typeof和instanceof的区别
- Leetcode 9
- 定位详解
- 折线分割平面
- 每天一点积累
- 控制系统的振荡
- Redex安卓Apk优化技术研究
- 剑指Offer:二进制中1的个数
- LeetCode OJ 442. Find All Duplicates in an Array