浅谈jquery源码解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Trifling_/article/details/69666468

本文主要是针对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源码几个重要部分,理解了这些再去看其它部分就很轻松了,掌握了这些差不多就能解决开发过程中的常见问题。


猜你喜欢

转载自blog.csdn.net/Trifling_/article/details/69666468