zoukankan      html  css  js  c++  java
  • ES5-Object扩展方法

    1.Object新增一个方法,Object.create();,用来以一个对象为基础创建另一个对象,新建的对象的__proto__指向基础对象

     var obj = {name:'maycpou',age:18};
            var obj1 = Object.create(obj,{
                sex:{//新增一个sex属性,该属性在obj1上而不是在__proto__上
                    value:'男',//sex属性的值
                    writable:true,//sex属性是否为可写的,即是否能用obj1.sex='女'改变属性的值,默认是false
                    configurable:true,//sex属性是否可被删除,即是否能用deleteobj1.sex删除sex属性,默认是false
                    enumerable:true//sex属性是否是可被列举的,即用for(var i in obj1){console.log(i);}是否能遍历到sex属性,默认是false
                }
            });
     console.log(obj1);
     
    2.Object新增一个方法,Object.defineProperties();,用来给一个对象新增属性
      var obj2 = { firstName: 'tom', lastName: 'boston' };
            Object.defineProperties(obj2, {//这个方法用于给一个对象添加属性
                fullName: {//新增的属性名称是fullName
                    get: function () {//设置get方法,用来获取新增属性fullName的值
          return this.firstName +' '+ this.lastName;
                    },
                    set: function (data) {//这个方法在fullName属性即将改变的时候调用,data是即将改变的fullName的值
                        //当使用obj2.fullName = 'jack foo';的时候,并不会直接改变fullName的属性,
                        //而是会调用这个方法,data的值为maycpou
                        var names = data.split(' ');
                        this.firstName = names[0];
                        this.firstName = names[1];
                    }
                }
            });
            obj2.fullName='jack foo';
            console.log(obj2.fullName);
    上面的写法类似于:var obj2 = {
      firstName: 'tom', 
      lastName: 'boston',
      get fullName(){
        return this.firstName +' '+ this.lastName;    
         }
      set fullName(date){
         var names = data.split(' ');
                   this.firstName = names[0];
                   this.firstName = names[1];
      }
    }
  • 相关阅读:
    微软工具连接
    [转贴]生成缩略图
    突破验证,安装Media Player11.
    【转贴】Sourcecode and Code Snippets
    AppArch(一):User Interface
    【转】中国的OA要走的路还很长
    对WebService的在企业应用中的思考。
    [转贴]按文件类型获取其图标
    信息系统分析方法
    【转】WebService第一次调用正常,第二次调用超时的解决办法。
  • 原文地址:https://www.cnblogs.com/maycpou/p/12321206.html
Copyright © 2011-2022 走看看