问答详情
源自:5-1 [JavaScript]创建数组、数组操作

对象的class属性如何理解,与typeof有何区别?

这一页ppt有点混淆了:

var toString = Object.prototype.toString;

function getType(o){return toString.call(o).slice(8,-1);};


toString.call(null); // "[object Null]"

getType(null); // "Null"

getType(undefined); // "Undefined"

getType(1); // "Number"

getType(new Number(1)); // "Number"

typeof new Number(1); // "object"

getType(true); // "Boolean"

getType(new Boolean(true)); // "Boolean"


提问者:luke_zhou 2015-03-24 15:38

个回答

  • Bosn
    2015-03-26 11:49:34

    typeof主要用于判断基本类型和函数。

    对象的"Class标签“是一个内部的,对JavaScript代码这个层级里不可见的。

    你可以理解为代码背后机制的一个东东。

  • uhelper_net
    2015-03-24 16:57:23

    Object.prototype.toString这是一个hack写法,typeof只能简单的检测对象,如array,自定义的对象用typeof都是返回object.但是Object.prototype.toString可以返回具体的信息.