关于给javascript对象添加删除修改对象的属性

Posted Go web

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于给javascript对象添加删除修改对象的属性相关的知识,希望对你有一定的参考价值。

以下是自己总结的几种方法,如有不妥,请君批评指正,不胜感激!

  • 利用动态特性

 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
  •  在此列举了几种对象添加属性的方法,那么对象添加方法也就照猫画虎了

 

 

    

 

以上是关于关于给javascript对象添加删除修改对象的属性的主要内容,如果未能解决你的问题,请参考以下文章

javascript里面的数组,json对象,动态添加,修改,删除示例

JavaScript之dom操作

js学习-动态添加修改删除对象的属性和方法

vue的watcher 关于数组和对象

关于JavaScript对象深度克隆

关于javascript中defineProperty的学习