博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery源码分析(3) - 判断传入对象是否为function或array
阅读量:5096 次
发布时间:2019-06-13

本文共 831 字,大约阅读时间需要 2 分钟。

 

把以前看的jQuery源码的分析笔记搬到博客上,重温经典,也是为了方便查询。

 

var class2type = {},      core_toString = class2type.toString;jQuery.extend({  isFunction: function(obj) {    return jQuery.type(obj) === 'function';  }  isArray: Array.isArray || function(obj) {    return jQuery.type(obj) === 'array'; } type: function(obj){ if (obj == null) { return String(obj); } return typeof obj === 'object' || typeof obj === 'function' ? class2type[core_toString.call(obj)] || 'object' : typeof obj; } });
 
typeof 不能区分Array,RegExp等object类型,jquery为了扩展typeof的能力,添加了$.type;
针对特殊的对象(如null,Array,RegExp)也进行精准的类型判断;
运用钩子机制,判断类型前,将常见类型存入hash表class2type中。
 
jQuery.each('Boolean Number String Function Array Date RegExp Object Error'.split(' '), function(i, name){    class2type['[object ' + name + ']'] = name.toLowerCase();});

 

转载于:https://www.cnblogs.com/easonw/p/11505304.html

你可能感兴趣的文章
oracle 锁表、解锁的语句
查看>>
lua转让C++书面DLL达到“热更新”
查看>>
oppo9.0系统机器最完美激活xposed框架的方法
查看>>
SCOPE_IDENTITY和@@IDENTITY[转]
查看>>
关于GSMS的制作方法的记录
查看>>
机器学习之特征工程
查看>>
Asp.Net的Cookie用法以及注意事项
查看>>
jquery 图片懒加载
查看>>
android应用安全——(数据抓包)跟踪监控android数据包
查看>>
MapWindow Gis 组件代码示例:
查看>>
JavaScript实现轮播图
查看>>
实验二
查看>>
用C语言画一个心
查看>>
Jlabel实现内容自动换行
查看>>
001——Spring、Hibernate整合
查看>>
ASP.NET MVC 4 Attribute特性
查看>>
hbase学习(一)hbase简介
查看>>
Object C学习笔记8-字符串NSString之二
查看>>
客户信息管理系统
查看>>
设计模式——代理模式
查看>>