我知道(一个实例的数组),但我如何测试一个对象?
var c = {};
if ( c instanceof XXXX) {
// should get thru
}
var s = "abscdef";
if ( s instanceof XXXX) {
// should not get thru
}
var a = [];
if ( a instanceof XXXX) {
// should not get thru
}
答案 0 :(得分:1)
function isObject(c) {
return c instanceof Object
&& !(c instanceof Array)
&& !(c instanceof Function)
}
Array
和Function
检查是必要的,因为JavaScript数组也是对象(假设您不希望函数为数组或函数参数返回true
)
示例输出:
isObject([])
> false
isObject({})
> true
isObject(1)
> false
isObject('something')
> false
isObject(isObject)
> false
答案 1 :(得分:0)
我觉得你的意思是这样的?如果我不理解这个问题,我很抱歉。
function MyOwnType(name){
this.name = name
}
var myInstance = new MyOwnType("StackOverflow");
console.log(myInstance instanceof(MyOwnType)) //this evaluates to true
console.log(myInstance instanceof(Array)) //this evaluates to false