zl程序教程

您现在的位置是:首页 >  前端

当前栏目

javascript得到变量类型的函数

JavaScript变量 函数 类型 得到
2023-06-13 09:14:18 时间
这个功能需要写一点代码来实现。下面的函数可以得到一个变量的类型,调用时传递一个变量进去,会返回用字符串形式描述的变量类型。
复制代码代码如下:

//得到x的类型,返回类型名称
functiongetType(x){
//如果x为null,则返回null
if(x==null)return"null";
vart=typeofx;
//如果x为简单类型,则返回类型名称
if(t.toLocaleLowerCase()!="object")returnt;
//调用object类的toString方法得到类型信息
//object.toString方法返回类似这样的信息[object类名]
t=Object.prototype.toString.apply(x).toLowerCase();
//截取toString方法返回值的类名部分
t=t.substring(8,t.length-1);
if(t.toLocaleLowerCase()!="object")returnt;
//检查x确实为object类型
if(x.constructor==Object)returnt;
//从构造函数得到类型名称
if(typeofx.constructor=="function")
returngetFunctionName(x.constructor);
return"unknowtype";
}
//得到函数名称
functiongetFunctionName(fn){
if(typeoffn!="function")throw"theargumentmustbeafunction.";
varreg=/\W*function\s+([\w\$]+)\s*\(/;
varname=reg.exec(fn);
if(!name){
return"(Anonymous)";
}
returnname[1];
}