(1)理解jquery的$.extend()、$.fn和$.fn.extend()
http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html ----------------ok
(2)js 中 (function($){...})(jQuery) 含义
https://www.cnblogs.com/xiyuekamisama/p/9044740.html
(3)$
、jQuery
对象:https://www.cnblogs.com/maoxiaozhen/p/5426220.html
http://www.tashan10.com/kan-liao-zhe-ge-cai-fa-xian-jqueryyuan-dai-ma-bu-shi-na-yao-hui-se/
https://www.cnblogs.com/dengpeng1004/p/5317245.html------------ok,
每一个构造函数都有一个属性叫做原型,修改prototype,会修改所有实例的方法和成员属性。
修改Person的prototype,增加一个函数,所有Person的实例都有该函数了(包括已经创建的实例)。
修改Person的prototype,增加一个成员变量,所有Person的实例都共享该变量了,任意一个实例修改了,都会影响其他实例的调用。。
Person对象会自动获得prototyp属性,而prototype也是一个对象,会自动获得一个constructor属性,该属性正是指向Person对象。
实例person1将包含一个内部指针(很多浏览器这个指针名字为__proto__)指向构造函数的prototype,这个连接存在于实例和构造函数的prototype之间,而不是实例与构造函数之间。
function Person(name){
this.name=name;
}
debugger;
var person3=new Person('konny');
Person.prototype.printName=function(){
alert(this.name);
}
Person.prototype.shareArr=[];
debugger;
var person1=new Person('Byron');
debugger;
var person2=new Person('Frank');
person1.shareArr.push(111);
person2.shareArr.push(222);
console.log("person2.shareArr="+person2.shareArr);//person2.shareArr=111,222
person2.shareArr="33333333";
console.log("person1.shareArr="+person1.shareArr);//person1.shareArr=111,222
console.log("person2.shareArr="+person2.shareArr);//person2.shareArr=33333333
----------------
function Obj(){
var a=0; //私有变量
var fn=function(){ }//私有函数------------外部将无法访问到
this.a3=[]; //实例变量
this.fn3=function(){ }//实例方法------实例化后可以访问
}
Obj.a2=0; //静态变量
Obj.fn2=function(){ } //静态函数----------通过对象本身仍然可以访问得到,但是其实例却访问不到
Obj.prototype.fn4=function(){ }//原型方法-----------任何实例都可以修改这个方法,并且会影响其他实例的该方法。