以下是自己總結的幾種方法
-
利用動態特性
1 function Person(){}; 2 var person = new Person(); 3 person.name = 'yy'; 4 person.gender = 'girl'; 5 console.log(person.name+','+person.gender);//yy,girl 6 delete person.name;//刪除屬性 7 console.log(person.name);//undefined 8 // 變式 9 function Person(){}; 10 var person = new Person(); 11 person['name'] = 'yy'; 12 person['gender'] = 'girl'; 13 console.log(person.name+','+person.gender);//yy,girl 14 delete person.name;//刪除屬性 15 console.log(person.name);//undefined
-
構造函數中this
var Person = function (){ this.name = 'yy'; this.gender = 'girl' }; var person = new Person(); console.log(person.name+','+person.gender);//yy,girl
-
原型中添加屬性
var Person = function (){ }; Person.prototype.name = 'yy'; Person.prototype.gender = 'girl'; var person = new Person(); console.log(person.name+','+person.gender);//yy,girl console.log(person['name']+','+person['gender']);//yy,girl
-
字面量添加屬性
var person = { }; person.name = 'yy'; person.gender = 'girl'; console.log(person.name+','+person.gender);//yy,girl console.log(person['name']+','+person['gender']);//yy,girl // 另一種寫法 var person = { name: 'yy', gender: 'girl' }; console.log(person.name+','+person.gender);//yy,girl console.log(person['name']+','+person['gender']);//yy,girl
-
封裝extend方法
var p1 = {}; var p2 = {name:'yy',gender:'girl'}; p1.extend = function(obj){ for(var k in obj){ this[k] = obj[k]; } } p1.extend(p2); console.log(p1.name+','+p1.gender);//yy,girl console.log(p1['name']+','+p1['gender']);//yy,girl
-
在此列舉了幾種對象添加屬性的方法,那么對象添加方法也就照貓畫虎了
本文較短,如果有什么建議,多多交流,原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知,不勝感激!