zoukankan      html  css  js  c++  java
  • JS创建对象的几种方式

    不少文章都是从设计模式的角度去回答,并没有从 JS 语言的角度出发。目前,JS 这门语言,创建对象不外乎以下几种方式:
    对象字面量
     
    对象字面量也是我们平时写代码最常使用的方式,用一附含有键值对的大括号去定义我们的对象及其内部属性
    let obj = {
        key: 'value'
    }
    当然我们也可以直接用“{}”去定义一个空对象
     
     
    使用构造对象
     
    如果我们的对象存在一些公共的属性,那么使用对象字面量去定义就会比较浪费空间。
    因此我们要使用构造对象,不论是构造函数语法,还是 ES6 的 class 语法,JS 本身是都是通过原型对象和原型链来实现属性的共享的,本质基本相同。
    // 构造函数
    function obj{
        this.ownKey = 'ownValue'
    }
    obj.prototype.key = 'value'
    
    
    // class语法
    class Obj{
        key = 'value'
        constructor(){
            this.ownKey = 'ownValue'
        }
    }
    Object.create()
     
    Object.create 是 ECMAScript 5 新增的一个静态方法,用来创建一个实例对象。
    Object.create()有两个形参,分别是 proto(新创建对象的原型对象)和 propertiesObject(参照 Object.defineProperties()的第二个参数的对象)。
    如果熟悉 vue,对于 defineProperties 方法应该是比较了解了,可以基于添加一些属性描述符,可以让我们以更为细致地操作这个对象。
    let protoObj = {
        key: 'value'
    };
    let obj = Object.create(protoObj, {
        foo: { value: 'bar' }
    });
  • 相关阅读:
    关系数据库元数据处理类(一) 创建元数据实体
    常用通用简单文件上传功能
    基于NOPI的Execl模板转换类,直接将Execl模板转换对应的Entity
    CSS彻底研究(3)
    CSS彻底研究(2)
    CSS彻底研究(1)
    CLR via C#
    前端JS模版库kino.razor
    CLR via C#
    CLR via C#
  • 原文地址:https://www.cnblogs.com/chh1995/p/14581543.html
Copyright © 2011-2022 走看看