浅谈jquery源码解析

本文主要是针对jquery  v3.x版本来描述的,将从以下几个方面谈谈我对jquery的认识,

  1. 总体架构
  2. $与$.fn
  3. jQuery.fn.init  (重要)
  4. jQuery.extend  与jQuery.fn.extend (重要)
  5. 自定义jquery插件扩展
  6. $命名冲突
  命名冲突是比较简单,jquery提供了相关方法释放$的权限,$.noConflict()
var
	_jQuery = window.jQuery,

	_$ = window.$;

jQuery.noConflict = function( deep ) {
	if ( window.$ === jQuery ) {
		window.$ = _$;
	}
	if ( deep && window.jQuery === jQuery ) {
		window.jQuery = _jQuery;
	}
	return jQuery;
}


 PS:
  1. jquery大部分方法都是基于jQuery.extend或jQuery.fn.extend来扩展的(部分是直接通过索引定义,本质上都一样),$.ajax() 、 $.each()、$("#id").text()... 这些方法原理都是如此
  2. 开发过程中要深入理解作用域,特别是模块化开发的时候
总结:本文只是笔者提取jquery源码几个重要部分,理解了这些再去看其它部分就很轻松了,掌握了这些差不多就能解决开发过程中的常见问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值