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前 開發人員發明了一種函式,用函式來封裝以特...