zoukankan      html  css  js  c++  java
  • 关于给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
    •  在此列举了几种对象添加属性的方法,那么对象添加方法也就照猫画虎了

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

        

  • 相关阅读:
    线段树 by yyb
    【SYZOJ279】滑稽♂树(树套树)
    【BZOJ2806】Cheat(后缀自动机,二分答案,动态规划,单调队列)
    【BZOJ2733】永无乡(线段树,并查集)
    【BZOJ4991】我也不知道题目名字是什么(线段树)
    【BZOJ4999】This Problem Is Too Simple!(线段树)
    【BZOJ1858】序列操作(线段树)
    【BZOJ1835】基站选址(线段树)
    【BZOJ2962】序列操作(线段树)
    【BZOJ1558】等差数列(线段树)
  • 原文地址:https://www.cnblogs.com/goweb/p/5357640.html
Copyright © 2011-2022 走看看