物件導向的程式設計(一)建立物件的各種方法

2022-02-03 04:10:13 字數 1581 閱讀 9935

//

1、建立物件

//缺點:建立很多個物件的時候會產生大量的**

var person = new

object();

person.name = "nicholas";

person.age = 24;

person.job = "碼農";

person.sayname = function

() //

2、工廠模式

//通過接收引數來構建乙個包含所有必要資訊的物件,節省了很多**

//缺點,沒有解決物件識別的問題(物件的型別)

function

creatperson(name, age, job)

returno;}

var person1 = creatperson("nicholas", 24, "碼農");

var person2 = creatperson("greg", 24, "碼農");

person1.sayname();

//nicholas

person2.sayname();//

greg

//3、建構函式模式

//和工廠模式不同的在於

//1、沒有顯示式的建立物件

//2、直接將屬性和方法賦給了this物件

//3、沒有reutrun語句

//缺點:建構函式的方法在每個例項上都要重新建立一遍

function

person(name, age, job)

}var person3 = new person("nicholas", 24, "碼農");

var person4 = new person("greg", 24, "碼農");

person3.sayname();

//nicholas

person4.sayname();//

greg

alert(person3.sayname == person4.sayname);//

false

//建立person的新例項,必須使用new操作符。以這種方式呼叫建構函式實際上會經歷以下4個步驟

//1、建立乙個新物件

//2、姜建構函式的作用與賦給新物件(因此this就指向了這個新物件)

//3、執行建構函式中的**(為這個新物件新增屬性和方法)

//4、返回新物件

//每個例項都有乙個constructor(建構函式)屬性,該屬性指向建構函式

alert(person3.constructor == person);//

true

alert(person4.constructor == person);//

true

//將建構函式當作乙個普通函式來使用

person("tom", 27, "碼農");

window.sayname();

//tom

var o = new

object();

person.call(o, "kittey", 25, "碼農");//

o.sayname();//

kittey

物件導向程式設計 建立物件

方法一 物件字面量 方法二 object建構函式 方法三 工廠模式 function createperson name,age,job person.prototype.name nicholas perosn.protptype.age 29 person.prototype.job soft ...

物件導向的程式設計之建立物件

物件的定義 無序屬性的集合,屬性的值可以是基本值 物件或者函式.每個物件都是基於乙個應用型別建立的,這個引用型別可以是內建的 例如objectarraymath 也可以是使用者自定義的.所有的物件都是繼承自object的,因此我們可以從object著手建立物件.通過new 關鍵字建立物件 var p...

物件導向 OO 的程式設計 建立物件

為了避免大量重複 產生,可採用以下方法建立物件 1 function createperson name,age,job 89 var person1 createperson bob 23,doctor 10var person2 createperson lily 21,student 其實就是...