jquery源码抽丝剥茧--把jquery最小化
程序员文章站
2022-04-29 11:10:36
...
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>
上一篇: linux如何重启网络服务
下一篇: PHP编程函数安全篇_php技巧
推荐阅读
-
基于spring+hibernate+JQuery开发之电子相册(附源码下载)
-
jQuery插件实现的日历功能示例【附源码下载】
-
jQuery日期范围选择器附源码下载
-
jquery如何把数组变为字符串传到服务端并处理
-
.net jquery绘制自定义表单源码分享
-
基于jquery实现的tab选项卡功能示例【附源码下载】
-
jquery操作checkbox的常用方法总结【附测试源码下载】
-
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
-
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
-
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】