为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中判断是不是对象的方法是什么?

/ 猿问

JavaScript中判断是不是对象的方法是什么?

动漫人物 2019-04-09 10:06:12

JavaScript中判断是不是对象的方法是什么?


查看完整描述

5 回答

?
ABOUTYOU

JavaScript中检测对象类型的运算符有:typeof、instanceof)typeof运算符typeof是一元运算符,返回结果是一个说明运算数类型的字符串。如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在)。但typeof的能力有限,其对于Date、RegExp类型返回的都是"object"。如:typeof{};//"object"typeof[];//"object"typeofnewDate();//"object"所以它只在区别对象和原始类型的时候才有用。要区一种对象类型和另一种对象类型,必须使用其他的方法。如:instanceof运算符或对象的constructor属。2)instanceof运算符。instanceof运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字或构造函数。如果object是class或构造函数的实例,则instanceof运算符返回true。如果object不是指定类或函数的实例,或者object为null,则返回false。如:[]instanceofArray;//true[]instanceofObject;//true[]instanceofRegExp;//falsenewDateinstanceofDate;//true

查看完整回答
反对 回复 2019-04-12
?
梵蒂冈之花

JavaScript中检测对象类型的运算符有:typeof、instanceof) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串。如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在)。 但 typeof 的能力有限,其对于Date、RegExp类型返回的都是"object"。如:typeof {}; // "object"
typeof []; // "object"
typeof new Date(); // "object"
所以它只在区别对象和原始类型的时候才有用。要区一种对象类型和另一种对象类型,必须使用其他的方法。如:instanceof 运算符或对象的 constructor 属。 2)instanceof 运算符。 instanceof 运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字或构造函数。如果 object 是 class 或构造函数的实例,则 instanceof 运算符返回 true。如果 object 不是指定类或函数的实例,或者 object 为 null,则返回 false。如:
[] instanceof Array; // true
[] instanceof Object; // true
[] instanceof RegExp; // false
new Date instanceof Date; // true

查看完整回答
反对 回复 2019-04-12
?
HUWWW
12345678910111213// 直接访问这个key就行了。var obj = {    fun1: function () { return 'obj.fun1'}};obj.objFun = function () { return 'obj.objFun' }; obj.fun1 ? true false// trueobj.objFun ? true false// true if (obj.fun1 /* || obj.objFun */ {    // ……}


查看完整回答
反对 回复 2019-04-12
?
BIG阳

本来判断一个对象类型用typeof是最好的,不过对于Array类型是不适用的
可以使用 instanceof操作符
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array);
当然以上在一个简单的页面布局里面是没有问题的,如果是复杂页面情况,入获取的是frame内部的Array对象,可以用这个函数判断:
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}

查看完整回答
反对 回复 2019-04-12
?
暮色呼如

typeof 操作符
对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时
var arr=new Array("1","2","3","4","5");
alert(typeof(arr));
你会收到一个object 的答案,有点让人失望。
instanceof 操作符
JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。 使用方法:result = object instanceof class,还是刚刚的数组,再来一次,嗯,成功的返回 true。
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array);



查看完整回答
反对 回复 2019-04-12

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信