zoukankan      html  css  js  c++  java
  • zepto源码--几个判断函数--学习笔记

    几个需要经常用到的类型判断:

    自定义一个类似于typeof的函数,提供更多的类型判断。

    class2type[toString.call(obj)] 是对class2type的取值

    在后面通过循环对class2type赋予相应的键值对,

    最终在class2type保存的是

    所以当调用type传入的参数为array对象时,调用toString.call(array)返回[object Array],所以对应class2type['[object Array]']即为array。

    如果传入的参数为null,则类型返回'null',基本上可以返回各种常用对象类型,如'function', 'array','regexp'……而不是统一返回object。

    判断是否为函数类型:

    判断是不是window对象:

    判断是不是document对象:

    判断是否为object对象:

    判断是否为{}对象:

    判断是否为类数组:arguments就属于类数组,或者$('div')这种,可以用下标读取,看起来像数组,但又不是真正的数组的。

    改造成if else结构的话:

    应该就比较容易看懂了。

     注:多看几遍zepto源码之后,发现其中用到了大量的三目运算符(? :)和按位与、按位或,需要特别了解这三者。

  • 相关阅读:
    Docker安装nexus
    docker常用操作备忘
    react-01
    SBT实操指南
    Play中JSON序列化
    SPARK安装一:Windows下VirtualBox安装CentOS
    SPARK安装三:SPARK集群部署
    SPARK安装二:HADOOP集群部署
    SLICK基础
    函数式编程
  • 原文地址:https://www.cnblogs.com/zhuhuoxingguang/p/6001314.html
Copyright © 2011-2022 走看看