对象数组的增删

2018-05-14  本文已影响11人  为了记笔记注册的账号

1. 利用动态的特性

    function Person(){};
    var person = new Person();
    person.name = 'yy';
    person.gender = 'girl';
    console.log(person.name+','+person.gender);//yy,girl
    delete person.name;//删除属性
    console.log(person.name);//undefined
//  变式
    function Person(){};
    var person = new Person();
    person['name'] = 'yy';
    person['gender'] = 'girl';
    console.log(person.name+','+person.gender);//yy,girl
    delete person.name;//删除属性
    console.log(person.name);//undefined

2.利用构造函数中的this

var Person = function (){
                this.name = 'yy';
                this.gender = 'girl'
            };
            var person = new Person();
            console.log(person.name+','+person.gender);//yy,girl

3.在原型中添加属性

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

4.字面量添加属性

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

6.封装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
上一篇下一篇

猜你喜欢

热点阅读