Home > Web Front-end > JS Tutorial > jquery source code peeling off the cocoon - minimizing jquery

jquery source code peeling off the cocoon - minimizing jquery

高洛峰
Release: 2016-12-01 13:22:38
Original
1179 people have browsed it

js code:

(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 + "" );
    } 
});
})();
Copy after login

html code:

<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>
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template