zoukankan      html  css  js  c++  java
  • javascript创建对象

    仿Object.create
    if (typeof Object.create != 'function') {
      Object.create = (function(undefined) {
        var Temp = function() {};
        return function (prototype, propertiesObject) {
          if(prototype !== null && prototype !== Object(prototype)) {
            throw TypeError('Argument must be an object, or null');
          }
          Temp.prototype = prototype || {};
          var result = new Temp();
          Temp.prototype = null;
          if (propertiesObject !== undefined) {
            Object.defineProperties(result, propertiesObject); 
          } 
          
          // to imitate the case of Object.create(null)
          if(prototype === null) {
             result.__proto__ = null;
          } 
          return result;
        };
      })();
    }
    以下的方式主要是为了避免忘记写new而封装的方法;
    
    //先创建函数
    Object.beget = function (o) {
       var F = function (o) {};
      F.prototype = o ;
      return new F;
    };
    
    //定义好模板对象
    var Cat = {
      name:'',
      saying:'meow'
    };
    
    //从模板对象中创建一个对象
    var myCat = Object.beget(Cat);
    
    //对象生成后,可以自行对相关属性进行赋值:
    myCat.name = 'mimi';
  • 相关阅读:
    裴蜀定理
    上下界网络流
    寻找符合子序列要求的区间个数
    小猪分配 , 最大流
    floyd + 最大流 (奶牛分配问题)
    抛硬币问题
    消消乐
    Entity Framework(1)
    冒泡排序
    二分法查找数据
  • 原文地址:https://www.cnblogs.com/oufeng/p/6366506.html
Copyright © 2011-2022 走看看