2

1. 查看浏览器的对于API的支持


如现在的ES6的新特性promise Symbol Reflect...在浏览器的支持情况可以通过如下方法实现:

function isNative(api){
    return /native code/.test(api.toString())&&typeof api !== 'undefined'
}

API支持

关于[native code],这种[native code]是不是JS引擎内部实现的,比如chrome的V8引擎,其内部的回调机制是内部C++代码,而不是真实的JS代码

2.获取内置对象的子类型

  function getObjType(par) {
       return Object.prototype.toString.apply(par);
   }

   console.log(getObjType([]));           //[object Array]
   console.log(getObjType(new Date()));   //[object Date]
   console.log(getObjType(Math));         //[object Math]

   console.log(getObjType(new Number(2))); //[object Number]
   console.log(getObjType('abc'));         //[object String]
   console.log(getObjType(null));          //[object Null]
   console.log(getObjType(undefined));     //[object Undefined]

云深不知处
431 声望10 粉丝