Javascript 判断 object 的特定类
大家都知道 Javascript 的 typeof 可以获取变量的类型, 但是 typeof 返回值只有六种 "number," "string," "boolean," "object," "function," 和 "undefined."
其实 Javascript 还有不少特殊的类别 比如 Array, Date. 为什么都不在能在 typeof 返回呢?
原来 Javascript 是把 Array Date Object 这几个都归类成 object 类了. 我们只能通过 instanceof 来判断 object 的准确类别了.
这里有个简单的例子,可以说明 instanceof 的用法
其实 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));
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));