1.面向對象時,只關注對象提供的功能,不關注其內部的細節。 如JQUERY編程
2.面向對象時一種通用思想,並不是只有編程中能用,任何事情均可以用。如公司裏的上傳下達函數
3.面向對象編程(OOP)的特色,傳統的書本會說:多態,封裝,繼承三大特色this
應該還能理解成抽象,封裝,繼承三大特色對象
抽象:抓住核心問題繼承
封裝:不考慮內部實現,只考慮功能使用工作流
繼承:從已有對象上,繼承出新的對象io
4.對象的組成面向對象編程
方法---------函數:過程,動態的function
屬性---------變量:狀態,靜態的變量
變量和函數是自由的,屬性和方法屬於一個對象
5.this:當前的方法屬於誰,this就是指誰 除了在函數面前有new的時候
function Person(name,sex)
{
this.name=name;
this.sex=sex;
alert(this);
}
var p1 = new Person("leo","男");
在這裏的this是Object
緣由是這個函數至關於
function Person(name,sex)
{
var this = new Object(); //雖然在JS裏面不能這麼寫,可是差很少是這個意思,建立一個新的對象。
this.name=name;
this.sex=sex; //給this對象賦屬性
return this; //返回this
}
6.構造對象的函數稱之爲構造函數,不具有實際功能,只能用來構造對象 如:var arr = new Array();
7.工廠方式構造對象。工廠的工做流程是這樣的a.原料 b.加工 c.出廠。用工廠方式構造對象也是同樣的,首先要建立一個對象(加工),而後給對象添加方法和屬性(加工),最後返回對象(出廠)。例子:
function CreatePerson(name,sex)
{
var person = new Object(); //原料
person.name=name;
person.sex=sex;
person.show=function()
{
alert(this.name);
} //加工,給對象添加方法和屬性
return person;