среда, 5 марта 2014 г.

Замена typeof на правильную функциию

Object.toType = (function toType(global) {
  return function(obj) {
    if (obj === global) {
      return 'global';
    }
    return ({}).toString.call(obj).match(/\s([a-z|A-Z]+)/)[1].toLowerCase();
  }
})(this);

Object.toType(window); // "global" (all browsers)
Object.toType([1,2,3]); // "array" (all browsers)
Object.toType(/a-z/); // "regexp" (all browsers)
Object.toType(JSON); // "json" (all browsers)


Или можно просто проверять тип так:

Object.prototype.toString.call([1,2,3]); // "[object Array]"

Комментариев нет:

Отправить комментарий