創建對象:工廠模式和自定義構造函數的區別 共同點: 都是函數, 都可以創建對象, 都可以傳入參數 區別: 工廠模式: 函數名是小寫 有new, 有返回值 new之後的對象是當前的對象 直接調用函數就可以創建對象 //工廠模式創建對象 function createObject(name, age) ...
創建對象:工廠模式和自定義構造函數的區別
共同點: 都是函數, 都可以創建對象, 都可以傳入參數 區別: 工廠模式:- 函數名是小寫
- 有new,
- 有返回值
- new之後的對象是當前的對象
- 直接調用函數就可以創建對象
//工廠模式創建對象 function createObject(name, age) { var obj = new Object(); obj.name = name; onj.age = age; obj.sayHi = function () { console.log("您好"); }; return obj; }
var per2 = createObject("小明", 20);
自定義構造函數:
- 函數名是大寫(首字母)
- 沒有new
- 沒有返回值
- this是當前的對象
- 通過new的方式來創建對象
//自定義構造函數創建對象 function Person(name, age) { this.name = name; this.age = age; this.sayHi = function () { console.log("您好"); }; }
var per1 = new Person("小紅", 20);