jquery init 关系

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<ul id = "a" value="eeee">
<li>www</li>
</ul>
</body>
<script >

jQuery = function() {
    this.jj = "jj";
    this.qq = function(){alert("qq")}
    return new jQuery.fn.init();//jQuery函数和init函数的关系,所有的jQuery对象都是init对象,通过原型init对象可以使用jQuery原型的属性方法,不能使用jQuery函数的属性方法。
},
jQuery.fn = jQuery.prototype = {//fn是类的静态属性
        jquery: "222",
        constructor: jQuery,
        aa : function(){alert(233)},
        init: function() {
            this.jquery1 = "555";
            alert(789);
        }
}
jQuery.fn.init.prototype = jQuery.fn;
//函数名和对象名都是地址,只不过函数类地址只有一个(函数作为对象的方法属性时候,每个对象各自有一个,地址不一样)就是函数名,对象地址可以有多个。

var j = jQuery();
alert(j.jquery);//222
alert(j.jj);//undefined
j.qq();//error
j.aa();//233

jQuery.fn.init.prototype.init();
</script>
</html>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head><body><div></div><div></div><div></div><div></div><ul id = "a" value="eeee"><li>www</li></ul></body><script >
jQuery = function() {this.jj = "jj";this.qq = function(){alert("qq")}    return new jQuery.fn.init();//jQuery函数和init函数的关系,所有的jQuery对象都是init对象,通过原型init对象可以使用jQuery原型的属性方法,不能使用jQuery函数的属性方法。},jQuery.fn = jQuery.prototype = {//fn是类的静态属性        jquery: "222",        constructor: jQuery,        aa : function(){alert(233)},        init: function() {            this.jquery1 = "555";            alert(789);        }}jQuery.fn.init.prototype = jQuery.fn;//函数名和对象名都是地址,只不过函数类地址只有一个(函数作为对象的方法属性时候,每个对象各自有一个,地址不一样)就是函数名,对象地址可以有多个。
var j = jQuery();alert(j.jquery);//222alert(j.jj);//undefinedj.qq();//errorj.aa();//233
jQuery.fn.init.prototype.init();</script></html>

原文地址:https://www.cnblogs.com/yaowen/p/6904203.html