Кода -копия выглядит следующим образом:
/**
* PARAM: O представляет обнаруженное значение
* return: вернуть строку «неопределенная», «номер», «boolean», «string», «function», «regexp», «массив», «дата», «ошибка», «объект» или «null»
*/
функция typeof (o) {
var _toString = object.prototype.tostring; // Получить ссылку на метод объекта ()
// Перечислите основные типы данных и встроенные типы объектов, и вы можете дополнительно дополнить диапазон типов данных об обнаружении массива
var _type = {
«Неопределенный»: «не определен»,
"номер": "номер",
"Boolean": "Boolean",
"String": "String",
"[объект функции]": "функция",
"[объект regexp]": "regexp",
"[MARSE ARRAY]": "Массив",
"[объект дата]": "дата",
"[ошибка объекта]": "ошибка"
}
return _type [typeof o] || _type [_toString.call (o)] || (O? "Object": "null"); // обнаружение путем преобразования значения в строку, а затем сопоставление обратной строки содержит конкретный символ
}
// Пример приложения:
var a = math.abs;
оповещение (typeof (a)); // возвращать строку "функция"
Код очень прост, и все инструкции в комментариях, поэтому я не буду говорить здесь. Если у вас есть те же потребности, пожалуйста, обратитесь к этому сами.