大家都知道 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)); //这名看不懂,不知道可不可以...
//alert(objTest(obj));