細節 js 建立物件的幾種模式舉例

2021-09-19 14:07:59 字數 1340 閱讀 4759

var sayname = function();

function createperson(name,age);

obj.name = name;

obj.age = age;

obj.sayname = sayname;

return obj;

}var newperson = createperson("oliver",18);

console.log(newperson.sayname());

應該把方法放在函式的外面,避免重複建立該方法;

定義的不是構建函式,因該使用var 方法建立例項,而不是new 方法;

不要忘記在函式的最後return obj;

var sayname = function();

function person(name,age)

var newperson = new person("oliver",18);

console.log(newperson.sayname());

使用this指代,函式無需明確return;

應該把方法放在函式的外面,避免重複建立該方法;

var sayname = function();

function person(){};

person.prototype.name = "oliver";

person.prototype.age = 18;

person.prototype.sayname = sayname;

var newperson = new person("oliver",18);

console.log(newperson.sayname());

函式中不對屬性進行定義而是用prototype;

function person(name,age);

person.prototype.sayname = function();

var newperson = new person("oliver",18);

console.log(newperson.sayname());

將所有屬性定義在函式中(建構函式方式);將所有方法定義在prototype中(原型方式);

function person(name,age);

}};var newperson = new person("oliver",18);

console.log(newperson.sayname());

這裡判斷屬性是否為function 以避免重複建立;

js建立物件的幾種模式

原理 在乙個函式內部完成建立物件新增屬性和方法。缺陷 無法識別物件的型別。佔記憶體,沒有提取公共方法。例項 function createperson name,age,job return o var person1 createperson nicholas 29 software engine...

JS中建立物件的幾種模式

created by sibuk on 2017 6 5.工廠模式 function createperson name,age,job return o var person1 createperson nicholas 29,software engineer var person2 creat...

建立物件的幾種模式

以後堅持一日一更,和大家分享我每天學習的成果及經驗,讓想要學習的小夥伴少走彎路。一 建構函式或字面量創單物件 這些方式有明顯的缺點 使用同乙個介面建立很多物件,會產生大量的重複 為了解決這個問題,出現了工廠模式。二 工廠模式 考慮在es中無法建立類 es6前 開發人員發明了一種函式,用函式來封裝以特...