四周搞定《JavaScript 高级程序设计》 - 读书笔记(Day 26)

第22章 高级技巧

22.1 高级函数

22.1.1 安全的类型检测

var isArray = value instanceof Array;

以上代码要返回 true,value 必须是一个数组,而且还必须与 Array 构造函数在同个全局作用域中。如果 vaule 是在另个框架中定义的数组,那么以上代码就会返回 false。

原生数组的构造函数名与全局作用域无关,因此使用 toString() 就能保证返回一致的值。

function isArray(value) {
  return Object.prototype.toString.call(value) == "[object Array]";
}

同样,基于以上思路测试某个值是不是原生函数或正则表达式。

function isFunction(value) {
  return Object.prototype.toString.call(value) == "[object Function]";
}

function isRegExp(value) {
  return Object.prototype.toString.call(value) == "[object RegExp]";
}

检测原生 JSON 对象。

var isNativeJSON = window.JSON && Object.prototype.toString.call(JSON) == "[object JSON]";
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容