この関数を実装するには、小さなコードを記述する必要があります。次の関数は変数の型を取得できます。呼び出し時に変数を渡すと、文字列形式で記述された変数の型が返されます。
//x の型を取得して戻ります型名
function getType(x) {
//x が null の場合、null を返します
if (x == null) return "null";
var t = typeof x; >//If x が単純型の場合、戻り値の型名
if (t.toLocaleLowerCase() != "object") return t
//オブジェクト クラスの toString メソッドを呼び出して、型情報
//object.toString このメソッドは、次のような情報を返します [オブジェクト クラス名]
t = Object.prototype.toString.apply(x).toLowerCase();
//クラスをインターセプトしますtoString メソッドの戻り値の名前部分
t = t.substring(8, t.length - 1);
if (t.toLocaleLowerCase() != "object") return t; //x が実際にオブジェクト型であることを確認します
if (x.constructor == Object) return t
//コンストラクターから型名を取得します
if (typeof x.constructor == "function") )
return getFunctionName(x.constructor);
return " 不明な型";
}
//関数名を取得
function getFunctionName(fn) {
if (typeof fn) != "関数") throw "引数は関数でなければなりません。";
var reg = /W*functions ([w$] )s*(/;
var name = reg.exec(fn) ;
if (!name) {
return '(匿名) ';
return name[1];