(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(){ }//原型方法-----------任何實例都可以修改這個方法,並且會影響其他實例的該方法。