这一页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"
typeof主要用于判断基本类型和函数。
对象的"Class标签“是一个内部的,对JavaScript代码这个层级里不可见的。
你可以理解为代码背后机制的一个东东。
Object.prototype.toString这是一个hack写法,typeof只能简单的检测对象,如array,自定义的对象用typeof都是返回object.但是Object.prototype.toString可以返回具体的信息.