几个方法

1、filtered

目标是对节点按照一定的选择器进行过滤。

如果传入了过滤选择器,则在nodes节点下,选择符合选择器的节点;

如果没有传入选择器,则返回节点本身,转化为zepto节点。

2、$.contains,是一个对外暴露的方法。

检查父节点是否包含给定的dom节点,如果两者是相同的节点,则返回 false

两种情况:

  a)、如果浏览器支持document.documentElement.contains方法,在两者节点不同的情况下,调用parent.contains(node)函数,判断父节点是否包含给定的dom节点。

  b)、如果不支持原生contains的方法,进行循环判断,将节点自身的父节点赋值给自身,判断两者是否相等,如果判断到相等的时候,返回true,否则返回false。

3、funcArg,处理传入参数为函数的情况,为内部使用函数。

参数context为上下文环境,arg如果为函数的话,则执行arg函数,并绑定上下文为context

4、setAttribute,设置或者删除属性

如果没有传入value,则将传入节点的name属性删除,否则就是对传入节点设置那么属性为value;

5、className

刨除svg格式不谈,该函数目的就是依据value有没有传入参数,没传value,即为获取传入节点的className; 传参的话即为设置对应节点的className。

6、deserializeValue

简单点说,就是反序列化,不展开详细解释,主要就是三元运算符?:的使用,最终是将字符串数字转为数字,字符串'true'或'false'转为对应的true和false,字符串‘null’转为null,json字符串转化为json对象。

这6个函数只有$.contains属于对外暴露的方法,其他5个函数属于zepto源码内部使用方法,是为简化其他方法进行的函数封装。

转载于:https://www.cnblogs.com/zhuhuoxingguang/p/6038069.html

zepto源码--filtered, contains,funcArg,setAttribute,className,deserializeVale--学习笔记相关推荐

  1. opengl源码 实现无缝切换图片过场_OpenGL学习笔记(六)变换

    本文为学习LearnOpenGL的学习笔记,如有书写和理解错误还请大佬扶正: 教程链接: https://learnopengl-cn.github.io/01%20Getting%20started ...

  2. 读Zepto源码之操作DOM

    2019独角兽企业重金招聘Python工程师标准>>> 这篇依然是跟 dom 相关的方法,侧重点是操作 dom 的方法. 读Zepto源码系列文章已经放到了github上,欢迎sta ...

  3. 读Zepto源码之代码结构

    虽然最近工作中没有怎么用 zepto ,但是据说 zepto 的源码比较简单,而且网上的资料也比较多,所以我就挑了 zepto 下手,希望能为以后阅读其他框架的源码打下基础吧. 源码版本 本文阅读的源 ...

  4. 读 zepto 源码之工具函数

    对角另一面 读 zepto 源码之工具函数 Zepto 提供了丰富的工具函数,下面来一一解读. 源码版本 本文阅读的源码为 zepto1.2.0 $.extend $.extend 方法可以用来扩展目 ...

  5. 读zepto源码之工具函数

    2019独角兽企业重金招聘Python工程师标准>>> Zepto 提供了丰富的工具函数,下面来一一解读. 源码版本 本文阅读的源码为 zepto1.2.0 $.extend $.e ...

  6. 读Zepto源码之Deferred模块

    Deferred 模块也不是必备的模块,但是 ajax 模块中,要用到 promise 风格,必需引入 Deferred 模块.Deferred 也用到了上一篇文章<读Zepto源码之Callb ...

  7. 读Zepto源码之Ajax模块 1

    Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest 的封装. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...

  8. zepto ajax php实例,读Zepto源码之Ajax模块

    Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest 的封装. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...

  9. 可能是全网首个前端源码共读活动,诚邀加入学习

    大家好,我是若川.从8月份到现在11月结束了.每周一期,一起读200行左右的源码,撰写辅助文章,截止到现在整整4个月了. 由写有<学习源码整体架构系列>20余篇的若川[若川视野公众号号主] ...

最新文章

  1. Smarty模板的基础
  2. Win7旗舰版系统右键菜单响应速度很慢会延迟一段时间
  3. 微信小程序超级占内存_6款宝藏微信小程序,简单又实用,节约内存就靠它了...
  4. 简介nandflash、norflash、ram、sram、dram、rom、eeprom、flash的区别
  5. 【Flutter】如何写一个Flutter自动打包成iOS代码模块的脚本
  6. 文巾解题 810. 黑板异或游戏
  7. [firefox] Scrapbook Plus的改进版Scrapbook X
  8. dota2比分网_红黑电竞比分横空出世 LPL夏季赛火热进行
  9. 对“计划”的进一步阐述和对回复的回复 : )
  10. 数据结构与算法-概念
  11. 被开除的Roadstar合伙人决定暂不回应,“报销大保健”也能忍?
  12. Sql Server 的sa用户被禁用
  13. Javascript: 前端JS生成验证码
  14. 哲理故事300篇(中)
  15. 迅雷软件测试报告总结范文,软件测试-实验三
  16. 计算机硬件组成框图,以及各部件的作用及计算机系统的主要技术指标概念理解
  17. ZZNU2141: 2333
  18. CF755F PolandBalls and Gifts
  19. 程序员啊,他又加班了
  20. 面试题之从敲入 URL 到浏览器渲染完成

热门文章

  1. RocketMQ原理解析-Consumer
  2. SSL常用专业缩略语汇总
  3. win7 64位安装vs2013后连接远程数据库无法链接,并且导致vs崩溃。
  4. 国企营业收入逾17万亿 同比增长24.2%
  5. 创翼软件linux版本,创翼pc版下载-创翼电脑版下载v5.2.22.5226-软件爱好者
  6. AngularJS表单操作几个例子(表单提交,表单编辑默认值)
  7. akka入门书籍的示例代码
  8. 运行vue init webpack vueTest时报错
  9. hdu 5031 Lines 爆搜
  10. 我对无服务器架构的一些看法