1.宣告物件的方式: 字面量賦值
var person =
2.建構函式的方式: 自定義的建構函式 object 建構函式function
student
(name)
}var t =
teacher
('nitong');
var xiaohong =
newstudent
('xiaohong');
var xiaoming =
newstudent
('xiaoming');
xiaohong.
listen()
; xiaoming.
listen()
; console.
log(xiaohong instanceof
student);
console.
log(xiaoming instanceof
student);
console.
log(t instanceof
teacher);
//false
/** *function student(name) {}
* name => xiaoming;
* this = {};
* this.name = 'xiaoming';
** return this;
*/console.
log(xiaohong)
; console.
log(xiaoming)
;
3.工廠模式function
teacher
(name)
4.原型模式// 函式 是第一等公民 length : 描述該方法形式引數的個數
// prototype ---> 物件 {} 稱之為原型物件
// prototype constructor ---> 指向當前的函式本體
// 函式內部 arguments.callee ---> 指向當前函式本體
function
person
(name, age)
person.prototype.hello =
"加油"
; person.prototype.
sayhi
=function()
console.
log(person.prototype.constructor === person)
;var p1 =
newperson
('xiaoming',20
);var p2 =
newperson
('xiaohong',22
);console.
log(p1.name)
; console.
log(p1.age)
; console.
log(p1.hello)
; p1.
sayhi()
; console.
log(
"--------------"
) console.
log(p2.name)
; console.
log(p2.age)
; console.
log(p2.hello)
; p2.
sayhi()
;
//原型鏈 :js 在建立物件的時候,要求每乙個物件都有乙個原型屬性
// 物件 原型屬性proto
// 對於我們的函式 prototype
// 這兩個之間有什麼關係
// 由建構函式 person 建立出來的 物件 p p.__proto__ === person.prototype
// 獲取某個物件的某個屬性,如果當前物件中沒有這個屬性,就會到該物件的原型屬性物件中尋找,
// 原型物件如果還沒有,找原型物件的原型物件。從而形成了乙個鏈條
// 直到找到 object.prototype === null.
// 物件屬性的遍歷 for-in 遍歷物件中的屬性值
5.遍歷和刪除delete p1.name;
delete p1.age;
delete p1.hello;
delete p1.sayhi;
for(
var i in p1)
js物件導向
物件導向是相對於面向過程而提出的程式設計思想 核心在於通過這種方法的設計出來的程式不再是機械的按照設定的步驟去執行,而是按照需要的步驟去執行。舉個例子 乙個人要吃飯,如果用的面向過程的話就必須執行吃飯前的一切行為,而物件導向則可以跳過之前的環節!建構函式 所謂的工廠方式 用來構造抽象物件,通過呼叫建...
js物件導向
js物件導向 一 什麼是物件 物件可以看成乙個屬性的集合。對像一般有屬性和方法構成,方法的實質是函式,而屬性的實質是變數。二 什麼是物件導向 物件導向可以理解為不需要去了解對像的內部結構,就可以使用它。像我們的date 對像的方法可以獲取和設定時間,但我們並不了解其內部原理。三 物件導向 抽風機 抽...
JS物件導向
一 js物件導向 js是一門指令碼語言,不是物件導向的語言,它沒有類的概念,有物件的概念。物件導向程式設計 oop 和面向過程程式設計 opp 的區別 面向過程以 事件為中心,將完成整個事件拆分成若干個步驟,按照步驟依次執行。物件導向以 事物為中心,完成某個需求需要哪些事物參與,側重點在於每個事物的...