jquery源码抽丝剥茧--把jquery最小化
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最小化相关推荐
- jquery源码解析:jQuery数据缓存机制详解2
上一课主要讲了jQuery中的缓存机制Data构造方法的源码解析,这一课主要讲jQuery是如何利用Data对象实现有关缓存机制的静态方法和实例方法的.我们接下来,来看这几个静态方法和实例方法的源码解 ...
- php jquery 源码,最新版jQuery 2.1.0完整
jQuery 2.1.0 该版本的最新改进包括: AMD(异步模块定义):在新版本的内部使用了AMD来替代旧的模块化构建系统. 可通过NPM获取新版本 性能提升:新的"懒特性检测(lazy ...
- Jquery源码分析-整体结构
最近在学习Jquery的最新的源码,Jquery-3.3.1版本.网上有很多对jquery解析的文章.但是我还是要自己去尝试着看一篇jquery的源码.本系列博客用来记录其中的过程,并同大家分享.本次 ...
- jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理
jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理 最近在看jquery源码分析的视频教学,希望将视频中学到的知识用博客记录下来,更希望对有同样对jquery源码有困惑 ...
- javascript arguments对象研究--针对jquery源码研究再研究
外部插件: $.fn.tinytip = function(text, customOptions) { debugger; if (text && typeo ...
- jQuery源码导航
jQuery源码框架导航 jQuery的适用面非常的广,用了很久,现在突然想提笔记录一下研读JQuery源码的过程.写文章的时候去jQuery官网查看了一下,最新的jQuery版本是3.4.1,本次解 ...
- 分析jQuery源码时记录的一点感悟
分析jQuery源码时记录的一点感悟 1. 链式写法 这是jQuery语法上的最大特色,也许该改改POJO里的set方法,和其他的非get方法什么的,可以把多行代码合并,减去 ...
- jQuery源码解析(架构与依赖模块)
jQuery设计理念 引用百科的介绍: jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1. ...
- jQuery源码解析(架构与依赖模块)第一章 理解架构
1-1 jQuery设计理念 引用百科的介绍: jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, F ...
最新文章
- Scala入门之函数编程
- Starting MySQL....The server quit without updating PID file 处理方法
- 个人开发者帐号+wireless install 实现非app store程序的在线更新功能
- 用Electron开发企业网盘(二)--分片下载
- python网络爬虫(14)使用Scrapy搭建爬虫框架
- php对称算法_php里简单的对称加密算法
- 计算机网络管理员中级理论知识试卷06,计算机网络管理员中级理论+技能完整题库及答案...
- NLP复习资料(8)-知识图谱、信息抽取
- mac mysql 链接_mac上搭建mysql环境配置和Navicat连接mysql
- 人生---新---起点……
- HBase与Zookeeper数据结构查询
- 给android开发者的rx,给Android开发者的RxJava 详解,解你多年困扰!
- python3实现校园网认证客户端
- 计算机视觉在小机器人中应用,基于计算机视觉的车身焊接机器人路径校正装置的制造方法...
- 推荐一个清理自己电脑磁盘的磁盘容量图形化软件--WinDirStat
- uniapp ios打包上架
- Ajax的Promise应用
- linux设置法语键盘布局,法语键盘布局图
- Python注释之TODO注释
- wav文件隐写:Deepsound+TIFF图片PS处理( AntCTF x D^3CTF 2022 misc BadW3ter)