JavaScript 判断一个对象的数据类型。

1、isString

 1 var isString1 = function (obj){
 2    return Object.prototype.toString.call(obj)==="[object String]";
 3 };
 4
 5
 6 var isString2 = function(obj){
 7     return (typeof obj==="string")
 8 };
 9
10
11 var isString3 = function (obj) {
12     return ("" + obj) === obj;
13 };

2、isArray

 1 var isArray1 = function(obj){
 2     return Object.prototype.toString.call(obj)==="[object Array]"
 3 };
 4
 5 var isArray2 = function(obj){
 6     return obj instanceof Array;
 7 };
 8
 9 var isArray3 = function(obj){
10     return Array.isArray(obj); //需要浏览器支持
11 };

3、其他

 1  var toString = Object.prototype.toString;
 2
 3
 4    //判读一个对象是一个对象
 5   _.isObject = function(obj) {
 6     var type = typeof obj;
 7     return type === ‘function‘ || type === ‘object‘ && !!obj;
 8   };
 9
10   // isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.
11   _.each([‘Arguments‘, ‘Function‘, ‘String‘, ‘Number‘, ‘Date‘, ‘RegExp‘, ‘Error‘], function(name) {
12     _[‘is‘ + name] = function(obj) {
13       return toString.call(obj) === ‘[object ‘ + name + ‘]‘;
14     };
15   });
时间: 02-28

JavaScript 判断一个对象的数据类型。的相关文章

Javascript判断一个对象是否为数组

从ECMAScript 5.1开始,我们可以使用Array.isArray() 方法来准确判断一个对象是否为数组. 目前主流浏览器均支持该方法(当然不包括IE8). var a = []; Array.isArray(a); // true  var b = ''; Array.isArray(b); // false 在过去,使用如下方式,也可以准确地判断数组,该方法精确有效且兼容性良好: var isArray = function (obj) {     return Object.pro

javascript判断一个对象是否是空对象,localStorage和sessionStorage区别

判断一个对象是否是空对象: var obj ={}; 1. if(JSON.stringify(newobj)=="{}"){ console.log('kongduixiang')  }else{ console.log('hehe')  } 2. if(Object.keys(newobj).length == 0){ console.log('kongduixiang'); } localStorage和sessionStorage区别: localStorage和session

JavaScript判断数据类型总结

最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断网页特效,在此做一个总结吧! 一.JS中的数据类型  1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) 7.未定义(Undefined) 二.判断一个变量的数据类型 1.数值型(number) 比较常用的判断方法是: 1 function isNumbe

JavaScript中判断一个对象是否为"空对象”

JavaScript中判断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这样的. 具体的代码实现和原理如下: // 所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. // for-in循环会同时枚举非继承属性和从原型对象继承的属性,如果有,则立即返回false,否则默认返回true. isEmptyObject: function (obj

Javascript 判断对象是否相等

在Javascript中相等运算包括"==","==="全等,两者不同之处,不必多数,本篇文章我们将来讲述如何判断两个对象是否相等? 你可能会认为,如果两个对象有相同的属性,以及它们的属性有相同的值,那么这两个对象就相等.那么下面我们通过一个实例来论证下: var obj1 = { name: "Benjamin", sex : "male" } var obj2 = { name: "Benjamin",

js如何判断一个对象是不是Array?

在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢? typeof 操作符 对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 1 var arr=new Array("1","2","3","4","5"); 2 alert(typeof(arr)); 你会收到一个object 的答案

JavaScript学习10 JS数据类型、强制类型转换和对象属性

JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以及String. Undefined数据类型的值只有一个:undefined. 在JavaScript中,如果函数没有声明返回值,那么会返回undefined.(后面有实例). 如果typeof后面跟一个未定义的参数,也是返回undefined. Null数据类型的值只有一个:null. null与

判断一个对象是否为jquery对象的方法

当我们在用jquery的each做循环遍历的时候常常会使用到this,而有时候我们不知道this所指的到底是什么,因为要使用jquery的方法前提此对象必须是jquery对象.另外要判断一个javascript的对象是什么类型,可以使用typeof,但是typeof只能判断出js的基础对象(string,boolean,number,object).判断一个对象是否为jquery对象可以用 obj instanceof jQuery var obj = $("div"); if (ob

javascript判断对象是否为domElement

我们在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法. 要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性,有tagName属性,等等.判断的特征越多,也就越可靠,因为毕竟我们自定义的js对象也可以有那些属性.还有其他方法吗? 在DOM Level2标准中定义了一个HTMLElement对象,它规定所有的DOM对象都是HTMLElement的实例,