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>本文出自 “不死的小强” 博客,请务必保留此出处http://qianray.blog.51cto.com/4607992/1878306
原文地址:http://qianray.blog.51cto.com/4607992/1878306