大家都知道 javascript 的 typeof 可以获取变量的类型, 但是 typeof 返回值只有六种 number, string, boolean, object, function, 和 undefined.
其实 javascript 还有不少特殊的类别 比如 array, date. 为什么都不在能在 typeof 返回呢?
原来 javascript 是把 array date object 这几个都归类成 object 类了. 我们只能通过 instanceof 来判断 object 的准确类别了.
这里有个简单的例子,可以说明 instanceof 的用法
复制代码 代码如下:
function objtest(obj){
var i, t, s = ; // 创建变量。
t = new array(); // 创建一个数组。
t[date] = date; // 填充数组。
t[object] = object;
t[array] = array;
for (i in t)
{
if (obj instanceof t[i]) // 检查 obj 的类。
{
s += obj is an instance of + i + \n;
}
else
{
s += obj is not an instance of + i + \n;
}
}
return(s); // 返回字符串。
}
var obj = new date();
response.write(objtest(obj));