Q:如何判断一个对象是否为数组? A1:判断对象的constructor是否指向Array, 接着判断对应的特殊属性,如length,splice之类.这个很容易冒充. A2:使用instanceof判断对象是否为数组的实例.一般情况下可行,在某些极端情况下,会出错.例如,有个A页面定义了一个数组a,页面又嵌套了一个iframe,在Iframe里面通过 top.a instanceof Array, 是返回false的.其他情况,见下面详解. A3:通过Object.prototype.toSt…
1.方法 instanceof:多框架下有问题(看示例代码). Object.prototype.toString.call():兼容性很好 Array.isArray: IE9+以上 constructor 2.示例 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" c…
Q:如何判断一个对象是否为数组? A1:判断对象的constructor是否指向Array, 接着判断对应的特殊属性,如length,splice之类.这个很容易冒充. A2:使用instanceof判断对象是否为数组的实例.一般情况下可行,在某些极端情况下,会出错.例如,有个A页面定义了一个数组a,页面又嵌套了一个iframe,在Iframe里面通过 top.a instanceof Array, 是返回false的.其他情况,见下面详解. A3:通过Object.prototype.toSt…
在调用后端接口时,由于后端接口的不规范统一,接口最外层在没有数据时返回的是空数组(其实更想要的是空json对象,接口返回的data数据应该统一返回json对象,便于扩展),而在有数据时返回的是json对象,所以在接收到后端返回的接口时就需要首先判断返回的数据是对象还是数组,这里提供一些方法 方法一(推荐): //判断是否为数组 function isArray(obj) { return obj instanceof Array; } //判断是否为对象 //注:这里的对象仅仅是指json对象,…
本文介绍了判断一个对象是否为空的几种方法 测试用例 test1 = 1; test2 = {}; test3 = {a:1,b:2} 1. 判断Object.keys()的长度 function _isNull(obj) { if(Object.prototype.toString.call(obj)!=='[object Object]') { return 'Type Error' } return Object.keys(obj).length === 0 } _isNull(test1)…
function isArray(object){ return object && typeof object==='object' && typeof object.length==='number' && typeof object.splice==='function' && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable('length')); } 或者…
在 ECMAScript5中定义了一个新的方法Array.isArray(). 如果参数是数组的话,就返回true eg: Array.isArray([]); // true 如果里面换一个类似数组的对象字面量(object literal)呢 Array.isArray({ name: "Luke", "0": 1, test: function() {} }); // false 但是如果你的开发环境不支持ECMAScript5, 也就是说你没法使用Array…
1.isString var isString1 = function (obj){ return Object.prototype.toString.call(obj)==="[object String]"; }; var isString2 = function(obj){ return (typeof obj==="string") }; var isString3 = function (obj) { return ("" + obj)…
第一种: function isEmptyObject(obj) { for (var key in obj) { //返回false,不为空对象 return false; } return true; //返回true,为空对象 } console.log(isEmptyObject({"re": 2})); //false console.log(isEmptyObject({})); //true console.log(isEmptyObject(null)); //true…