自定義建構函式建立物件和工廠模式建立物件的區別

2021-10-07 09:50:59 字數 796 閱讀 4635

// 工廠模式建立物件

function

createobject

(name,age)

return obj;

}var per =

createobject

("小明",20

) per.

sayhi()

;//自定義函式構造物件

// 自定義建構函式建立物件 做了四件事

// 1.在記憶體中開闢(申請一塊空閒的空間)空間,儲存建立的心得物件

// 2.把this設定為當前的物件

// 3.設定物件的屬性和方法的值

// 4.把this這個物件返回 (所以不需要return了)

function

person

(name,age)

}var person =

newperson

("哈哈哈",30

);person.

play()

;<

/script>

共同點:都是函式,都可以建立物件,都可以傳入引數

區別:工廠模式:

1.函式名是小寫

2.有new,

3.有返回值

4.new之後的物件是當前的物件

5.直接呼叫函式就可以建立物件

自定義建構函式:

1.函式名是大寫(首字母)

2.沒有new

3.沒有返回值

4.this是當前的物件

5.通過new的方式來建立物件

工廠模式建立物件和自定義建構函式建立物件的異同

自定義函式 function person name,age 複製 工廠模式 是32種設計模式的其中一種 function createobj name,age return obj 複製 相同點 1.都可以建立物件 2.都有引數 3.都是函式不同點 自定義函式 1.函式名首字母大寫 2.沒有new...

自定義建構函式建立物件

1.自定義建構函式建立物件 自定義建構函式 本質也是乙個函式,也是建立物件的 程式設計師自己定義的乙個用來建立物件的函式 本質上就是乙個函式 或new內建函式是用來單個物件的或少數的 自定義建構函式是用來建立大量 批量 物件 普通建立物件 let k new object k.stuname k同學...

工廠模式與自定義建構函式

工廠模式與自定義建構函式 先說下建立物件的三種方式 1.通過內建物件來建立 var obj newobject obj.name hu obj.age 12 2.通過字面量的方式來進行建立 var obj console.log obj.name console.log obj.age 3.通過建構...