一行一行分析JQ源码学习笔记-01】的更多相关文章

jQuery (function(window,undefined){ }) undefined 防止外部参数中 var  undefined =10:以此来改变内部 undefined 不太建议用严格模式   use strict; 很多兼容问题  浏览器假死状态 rootJQuery: 类似jquery的根目录 rootJQuery = jQuery(document): 有利于版本压缩 readyList  : 用于DOM加载 typeof(window.a == "undefined&q…
jquery添加方法和属性 jquery.fn=jquery.prototype ={ jquery版本 } construtor  指向修正 js源码中 fun  aaa(){} 会自动生成一句   aaa.prototype.constructor = aaa ; 容易被修改所以需要修正 aaa.prototype= { name:"hello", age:"20", } 与 aaa.prototype= { aaa.constructor :aaa; name…
节点类型获取$("span")首先 判断 if(select.nodeType) markarray() 类数组 转化成真正的数组 var adiv = document.getElementsByTagName("div")console.log($.makearray(adiv,{length:0))); toArray() 工具方法 通过 toslice 截取成新数组 get() 返回数组形式 转原生的集合jquery如何实现?function (num)是否…
创建字符串<li></li>$.function(){var str =} merge;用法 对外组数何必 对内部 还可以json合并var arr = ["a","b","c"];var arr2 = ["d"];congse.log($.merge(arr,arr2)) 适合创建单标签$("<><>,{title:h1,html:abcd},css:"ba…
rquickExpr: <p>aaaa   或  #div1 rsingieTag: rmsPrefix :/-ms-/  是否是ie rdashAlpha = 转大小写   数字 (-2d  转成 2d)…
1.防止冲突    设置新变量保存…
阅读本文大概需要 4 分钟 Qt Creator 是一款开源的轻量级 IDE,整个架构代码全部使用 C++/Qt 开发而成,非常适合用来学习C++和Qt 知识,这也是我们更加深入学习Qt最好的方式,学习了解官方人员是如何开发一款软件的 下载 一般我们下载Qt进行安装的时候会默认安装好Qt Creator,此时安装的是可执行程序,而我们今天要讲的是下载源码并且编译,那么首先要到官方仓库中下载某个版本的源码 下载方式有两种,下载zip源码包和gigt clone 获取 直接下载,打开通用下载页面下载…
阅读本文大概需要 8 分钟 插件听上去很高大上,实际上就是一个个动态库,动态库在不同平台下后缀名不一样,比如在 Windows下以.dll结尾,Linux 下以.so结尾 开发插件其实就是开发一个动态库,该动态库能够很好的加载进主程序.访问主程序资源.和主程序之间进行通信 本篇文章一起学习下 Qt Creator当中是如何实现插件的开发.加载.解析.管理以及互相通信的,方便我们开发自定义插件打下基础 简介 Qt Creator 插件理解起来其实很简单,定义一个接口类作为基类,其他插件需要继承该类…
本文主要讲述AQS的共享模式,共享和独占具有类似的套路,所以如果你不清楚AQS的独占的话,可以看我的<JUC源码学习笔记1> 主要参考内容有<Java并发编程的艺术>,<Java并发编程实战>和下面两位博主的博客 https://segmentfault.com/a/1190000016447307 这是我见过讲AQS共享最好的博客 https://www.cnblogs.com/micrari/p/6937995.html 这个文章是对PROPAGATE的作用比较好的…
上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); var self = baseCreate(sourceFunc.prot…
Hadoop源码学习笔记(6) ——从ls命令一路解剖 Hadoop几个模块的程序我们大致有了点了解,现在我们得细看一下这个程序是如何处理命令的. 我们就从原头开始,然后一步步追查. 我们先选中ls命令,这是一个列出分面式文件系统中的目录结构.传入一个查阅地址,如果没有则是根目录.启动NameNode和DataNode服务.然后在命令行中输入ls : 换成程序,如果写呢,我们新建一个ClientEnter类.之前章节中,我们就知道,在命令行中输入的dfs命令,指向到org.apache.hado…
目录 RocketMQ 源码学习笔记----Producer 是怎么将消息发送至 Broker 的? 前言 项目结构 rocketmq-client 模块 DefaultMQProducerTest RocketMQ 源码学习笔记----Producer 是怎么将消息发送至 Broker 的? 前言 本次分析基于 RocketMQ release-4.5.2 版本. 分析的目标是: RocketMQ 中 Producer 是怎么将消息发送至 Broker 的? 说到学习源码,首先当然是要把源代码…
目录 RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 前言 项目结构 rocketmq-client 模块 DefaultMQProducerTest RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 前言 本次分析基于 RocketMQ release-4.5.2 版本. 分析的目标是: RocketMQ 中 Producer 是怎么将消息发送至 Broker 的? 说到学习源码,首先当然是要把源代码下载下来,官…
阅读本文大概需要 6 分钟 一个项目随着功能开发越来越多,项目必然越来越大,工程管理成本也越来越高,后期维护成本更高.如何更好的组织管理工程,是非常重要的 今天我们来学习下 Qt Creator 是如何组织管理这么庞大的一个项目工程的 QMake 多工程管理方法 我们知道 Qt 采用 qmake语法进行组织管理工程结构,想要更好的学习管理一个工程需要你了解基本的qmake语法 在Qt当中,一般以xx.pro结尾的文件是某个工程文件,我们只要打开该文件即可打开该文件管理的工程 单工程基本用法 比如…
系列文章: 1.async-validator 源码学习(一):文档翻译 2.async-validator 源码学习笔记(二):目录结构 3.async-validator 源码学习笔记(三):rule 源码目录结构如图: validator 源码分析 validator 与 rule 紧密相连,rule 目录下的文件主要功能是校验 value 和 rule ,然后给 errors 数组中添加 error .validator 则是把 校验的 value 细分成各种类型,对不同的类型进行不同的…
系列文章: 1.async-validator 源码学习(一):文档翻译 2.async-validator 源码学习笔记(二):目录结构 3.async-validator 源码学习笔记(三):rule 4.async-validator 源码学习笔记(四):validator Schema 是 async-validator 库的标准使用方式,使用 class 类的形式和构造函数方式进行定义的. 一.Schema 类使用方式 在官方文档中 Schema 的使用方式有如下几步: 从 async…
Spring源码学习笔记9--构造器注入及其循环依赖 一丶前言 前面我们分析了spring基于字段的和基于set方法注入的原理,但是没有分析第二常用的注入方式(构造器注入)(第一常用字段注入),并且在循环依赖问题上构造器注入常被说spring无法解决构造器注入的循环依赖,下面我们来分析构造器注入和其循环依赖的源码 二丶构造器依赖注入 在spring初始化每一个非抽象,单例,非懒加载的bean的时候,会调用createBeanInstance方法去创建bean的实例,在使用默认的策略--无参构造o…
JUC源码学习笔记5--线程池,FutureTask,Executor框架源码解析 源码基于JDK8 参考了美团技术博客 https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html 一丶Executor框架概览 刚接触Java线程池的时候,常常被ThreadPoolExecutor,Executor,ExecutorService,Future,FutureTask搞得一头雾水,下面我们先来来理一理这些类的关系…
Spring 源码学习笔记11--Spring事务 Spring事务是基于Spring Aop的扩展 AOP的知识参见<Spring 源码学习笔记10--Spring AOP> 图片参考了https://www.processon.com/view/60f4d859e0b34d0e1b6bb40c?fromnew=1 逻辑事务和物理事务的概念来自https://wiyi.org/physical-and-logical-transactions.html 本文忽略了编程式事务,探究了基于事务注…
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/current/reference/html/core.html 一个IOC讲得很好的博客 https://blog.csdn.net/ivan820819/article/details/79744797 之前总结的Spring文章比较水,这次好好来 文章需要有些Spring源码基础(可以看我的水…
版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}());  这样的东西,我们应该知道这是一个 IIFE(立即执行函数). var root = typeof self == 'object' && self.self === self && self || typeof global == 'object' && global.global === global &…
AXI_LITE源码学习笔记 1. axi_awready信号的产生 准备接收写地址信号 // Implement axi_awready generation // axi_awready is asserted for one S_AXI_ACLK clock cycle when both // S_AXI_AWVALID and S_AXI_WVALID are asserted. axi_awready is // de-asserted when reset is low. alwa…
Hadoop源码学习笔记(5) ——回顾DataNode和NameNode的类结构 之前我们简要的看过了DataNode的main函数以及整个类的大至,现在结合前面我们研究的线程和RPC,则可以进一步看看几个对象的大至结构以及调用关系. 我们知道,三个结构(客户端,NameNode,DataNode)是能过网络调用的,走的是RPC.那在底层通讯时谁做服务器谁做客户端呢?我们先回顾一下这三者关系: 这样看,看不出,我们进入源码,看一下夹在中间的NameNode: 在这个initialize函数中,…
Hadoop源码学习笔记(4) ——Socket到RPC调用 Hadoop是一个分布式程序,分布在多台机器上运行,事必会涉及到网络编程.那这里如何让网络编程变得简单.透明的呢? 网络编程中,首先我们要学的就是Socket编程,这是网络编程中最底层的程序接口,分为服务器端和客户端,服务器负责监听某个端口,客户端负责连接服务器上的某个端口,一旦连接通过后,服务器和客户端就可以双向通讯了,我们看下示例代码: ServerSocket server = new ServerSocket(8111); S…
Hadoop源码学习笔记(3) ——初览DataNode及学习线程 进入了main函数,我们走出了第一步,接下来看看再怎么走: public class DataNode extends Configured implements InterDatanodeProtocol,       ClientDatanodeProtocol, FSConstants, Runnable {      public static DataNode createDataNode(String args[],…
Hadoop源码学习笔记(2) ——进入main函数打印包信息 找到了main函数,也建立了快速启动的方法,然后我们就进去看一看. 进入NameNode和DataNode的主函数后,发现形式差不多: public static void main(String args[]) {     try {       StringUtils.startupShutdownMessage(DataNode.class, args, LOG);       DataNode datanode = crea…
Hadoop源码学习笔记(1) ——找到Main函数及读一读Configure类 前面在第一季中,我们简单地研究了下Hadoop是什么,怎么用.在这开源的大牛作品的诱惑下,接下来我们要研究一下它是如何实现的. 提前申明,本人是一直搞.net的,对java略为生疏,所以在学习该作品时,会时不时插入对java的学习,到时也会摆一些上来,包括一下设计模式之类的.欢迎高手指正. 整个学习过程,我们主要通过eclipse来学习,之前已经讲过如何在eclipse中搭建调试环境,这里就不多述了. 在之前源码初…
HashMap有一个问题,就是迭代HashMap的顺序并不是HashMap放置的顺序,也就是无序. LinkedHashMap保证了元素迭代的顺序.该迭代顺序可以是插入顺序或者是访问顺序.通过维护一个双向链表实现. 需要在理解HashMap实现原理的基础上学习LinkedHashMap,JDK源码学习笔记——HashMap 一.数据结构 实际上就是在HashMap的基础上加了LinkedList (图片来自Java集合之LinkedHashMap) LinkedHashMap.Entry继承了H…
jquery源码学习笔记二:jQuery工厂 jquery源码学习笔记一:总体结构 上两篇说过,query的核心是一个jQuery工厂.其代码如下 function( window, noGlobal ) { var jQuery = function( selector, context ) {//首先定义一个内部jQuery.注意,此jQuery只是一个工厂内部的变量,并非我们在外面引用的那个jQuery或$ return new jQuery.fn.init( selector, cont…
最新 Vue 源码学习笔记 v2.x.x & v3.x.x 框架架构 核心算法 设计模式 编码风格 项目结构 为什么出现 解决了什么问题 有哪些应用场景 v2.x.x & v3.x.x https://github.com/learning-js-by-reading-source-codes/vue https://github.com/learning-js-by-reading-source-codes/vue-next refs xgqfrms 2012-2020 www.cnbl…