以下是自己总结的几种方法

    • 利用动态特性


    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

    • 在此列举了几种对象添加属性的方法,那么对象添加方法也就照猫画虎了

    本文较短,如果有什么建议,多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知,不胜感激!