重写 typeof 方法
function myTypeof(str) {var toStr = Object.prototype.toString,typeofStr = typeof(str),typeTemp = {'[object Object]': 'object', // 检测对象'[object String]': 'object-string', // 检测包装类 String'[object Number]': 'object-number', // 检测包装类 Number'[object Boolean]': 'object-boolean', // 检测包装类 Boolean'[object Array]': 'object-array', // 检测数组}if (str === null) { // 1.判断是否为空return 'null';}// 2.返回引用值还是原始值?return typeofStr === 'object' ? typeTemp[toStr.call(str)] : typeofStr;
}