物件導向基礎總結
了解了物件導向與面向過程的區別:面向過程就是將乙個問題按需要一步一步往下做。而物件導向是將乙個問題看成是多個物件,其中包含了屬性與方法,當有需要時,就寫出相應的方法與功能,在呼叫。
var p=;
name:"李四", //屬性: 屬性名:屬性值;
age:20, //屬性或方法結尾用"," 而不是用";"
}
①.點語法: 物件名.方法名/屬性名 ②:物件名["方法名/屬性名""]可以包含變數;
for...in可以用來遍歷物件的所有屬性。var p=
//屬性為函式時:稱為方法}p.speak(); //p.方法名/屬性名 點語法
console.log(p.name);
console.log(p["eat"]); //p["屬性名/方法名"] 中可以為變數(優點)
console.log("吃了");
}}p.speak(); //p.方法名/屬性名 點語法
console.log(p.name);
console.log(p["eat"]); //p["屬性名/方法名"] 中可以為變數(優點)
new object( )建立物件:var p=
//在物件中新增了***屬性p.***="男"; //在物件中新增了***屬性
delete p.age; //delete 是操作符 所以不用()
console.log(p.age); // undefined 被刪除
for(var i in p)
delete p.age; //delete 是操作符 所以不用()
console.log(p.age); // undefined 被刪除
for(var i in p)
缺點:重複用乙個介面建立多個物件,產生很多重複**。
解決:工廠模式的誕生
var p1=new object();
p1.name="李四";
p1.age="20";
console.log(p); // name: "李四", age: 20
// name: "李四", age: 20
解決了new object( )的缺點;
function p(name,age,***)
var p=p("李四",20,"男"); //name: "李四", age: 20, ***: "男";
//name: "李四", age: 20, ***: "男";
工廠模式缺點:返回的值都是object,所以無法識別物件的型別;
建構函式建立的物件:
注意:建構函式中最好不要return ,return 10;(返回無效);return {}:返回的是空物件function fn(name,age,***)
//fn建構函式 一般首字母最好大寫var f1=new fn("李四",20,"男"); //呼叫普通函式用new就成了建構函式,當沒有建立物件時候, this 指向的是window;
console.log(f1); //name: "李四", age: 20, ***: "男";
this.name=name; //this 指向 new出的f1
this.age=age;
this.***=***;
}var f1=new fn("李四",20,"男"); //呼叫普通函式用new就成了建構函式,當沒有建立物件時候, this 指向的是window;
console.log(f1); //name: "李四", age: 20, ***: "男";
JavaScript物件導向
方法一 建構函式法 function cat cat.prototype.showname function var cat new cat cat.name tom cat.showname tom 它用建構函式模擬 類 在其內部用this關鍵字指代例項物件。類的屬性和方法,還可以定義在建構函式的...
javaScript物件導向
code 類lecture構造器 使用兩個字串函式,name和teacher function lecture name,teacher 類lecture的方法,生成乙個顯示該課程資訊的字串 lecture.prototype.display function 類schedule的構造器 使用乙個l...
Javascript 物件導向
什麼是物件everything is object 萬物皆物件 物件到底是什麼,我們可以從兩次層次來理解。1 物件是單個事物的抽象。一本書 一輛汽車 乙個人都可以是物件,乙個資料庫 一張網頁 乙個與遠端伺服器的連線也可以是物件。當實物被抽象成物件,實物之間的關係就變成了物件之間的關係,從而就可以模擬...