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';
  • 相关阅读:
    JavaScript基础
    Dao的扩展
    错题解析
    实现windows程序的数据绑定
    C#第三章
    第二章
    初始windows程序
    使用ADO.NET查询和操作数据
    使用ADO.NET访问数据库
    4.计算机层次与编程语言
  • 原文地址:https://www.cnblogs.com/oufeng/p/6366506.html
Copyright © 2011-2022 走看看