js代码:

(function(){
var jQuery = window.jQuery = function( selector, context ) { return new jQuery.prototype.init( selector, context );
}; window.$ = jQuery; jQuery.fn = jQuery.prototype = {init: function( selector, context ) {var elem = document.getElementById(selector);if ( elem ) {this[0] = elem;this.length = 1;return this;}      },append: function() {alert(arguments[0]);}
};
//为后面的实例化,将jQuery.prototype赋给jQuery.prototype.init.prototype,这个很重要
jQuery.prototype.init.prototype = jQuery.prototype;jQuery.extend = jQuery.fn.extend = function() { var target = arguments[0], length = arguments.length;if ( length == 1 ) { target = this; //这里很重要,this给target,才能使用$.i = 0;}if ( (options = arguments[0]) != null ) {for ( var name in options ) {if ( options[ name ] != undefined ) {target[ name ] = options[ name ];}}}return target;
}; jQuery.extend({isFunction: function( fn ) {return !!fn && typeof fn != "string" && !fn.nodeName && fn.constructor != Array && /function/i.test( fn + "" );}
});
})();

html代码:

<html>
<head>
<script type="text/javascript" src="jmin.js"></script></head>
<body>
<div id="did"></div>
<script type="text/javascript">
function f(){};
$("#did").append("<div>append</div>");
alert($.isFunction(f));
</script>
</body>
</html>

转载于:https://blog.51cto.com/qianray/1878306

jquery源码抽丝剥茧--把jquery最小化相关推荐

  1. jquery源码解析:jQuery数据缓存机制详解2

    上一课主要讲了jQuery中的缓存机制Data构造方法的源码解析,这一课主要讲jQuery是如何利用Data对象实现有关缓存机制的静态方法和实例方法的.我们接下来,来看这几个静态方法和实例方法的源码解 ...

  2. php jquery 源码,最新版jQuery 2.1.0完整

    jQuery 2.1.0 该版本的最新改进包括: AMD(异步模块定义):在新版本的内部使用了AMD来替代旧的模块化构建系统. 可通过NPM获取新版本 性能提升:新的"懒特性检测(lazy ...

  3. Jquery源码分析-整体结构

    最近在学习Jquery的最新的源码,Jquery-3.3.1版本.网上有很多对jquery解析的文章.但是我还是要自己去尝试着看一篇jquery的源码.本系列博客用来记录其中的过程,并同大家分享.本次 ...

  4. jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理

    jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理 最近在看jquery源码分析的视频教学,希望将视频中学到的知识用博客记录下来,更希望对有同样对jquery源码有困惑 ...

  5. javascript arguments对象研究--针对jquery源码研究再研究

    外部插件: $.fn.tinytip = function(text, customOptions) {     debugger;         if (text && typeo ...

  6. jQuery源码导航

    jQuery源码框架导航 jQuery的适用面非常的广,用了很久,现在突然想提笔记录一下研读JQuery源码的过程.写文章的时候去jQuery官网查看了一下,最新的jQuery版本是3.4.1,本次解 ...

  7. 分析jQuery源码时记录的一点感悟

    分析jQuery源码时记录的一点感悟       1.  链式写法       这是jQuery语法上的最大特色,也许该改改POJO里的set方法,和其他的非get方法什么的,可以把多行代码合并,减去 ...

  8. jQuery源码解析(架构与依赖模块)

    jQuery设计理念 引用百科的介绍: jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1. ...

  9. jQuery源码解析(架构与依赖模块)第一章 理解架构

    1-1 jQuery设计理念 引用百科的介绍: jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, F ...

最新文章

  1. Scala入门之函数编程
  2. Starting MySQL....The server quit without updating PID file 处理方法
  3. 个人开发者帐号+wireless install 实现非app store程序的在线更新功能
  4. 用Electron开发企业网盘(二)--分片下载
  5. python网络爬虫(14)使用Scrapy搭建爬虫框架
  6. php对称算法_php里简单的对称加密算法
  7. 计算机网络管理员中级理论知识试卷06,计算机网络管理员中级理论+技能完整题库及答案...
  8. NLP复习资料(8)-知识图谱、信息抽取
  9. mac mysql 链接_mac上搭建mysql环境配置和Navicat连接mysql
  10. 人生---新---起点……
  11. HBase与Zookeeper数据结构查询
  12. 给android开发者的rx,给Android开发者的RxJava 详解,解你多年困扰!
  13. python3实现校园网认证客户端
  14. 计算机视觉在小机器人中应用,基于计算机视觉的车身焊接机器人路径校正装置的制造方法...
  15. 推荐一个清理自己电脑磁盘的磁盘容量图形化软件--WinDirStat
  16. uniapp ios打包上架
  17. Ajax的Promise应用
  18. linux设置法语键盘布局,法语键盘布局图
  19. Python注释之TODO注释
  20. wav文件隐写:Deepsound+TIFF图片PS处理( AntCTF x D^3CTF 2022 misc BadW3ter)

热门文章

  1. Direct HTTP Tunnel(直接HTTP客户端)
  2. HTML5博客个人日志记录网页模板
  3. idea 父文件_在ideal创建新的模块(子项目,同时依赖父模块)
  4. 如何保护.net中的dll文件(防破解、反编译)
  5. C#中List与IList的区别
  6. 企业项目开发中的问题
  7. HTML5: 利用SVG动画动态绘制文字轮廓边框线条
  8. Zimbra系统资料
  9. 循环依赖 三级缓存解决
  10. Linux ar命令