js查看浏览器是否支持某一方法 [nativecode] 如ES6新特性 && 获取内置对象的子类型...

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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值