zoukankan      html  css  js  c++  java
  • [设计模式]创建对象的方式

    可以通过对象直接量、关键字new和(E5)Object.create()函数来创建对象

    1. 对象直接量

    由若干名/值对组成的映射表

    属性名可以是JS标识符也可以是字符串直接量(包括空空字符串)

    属性值可以是任意类型的JS表达式,表达式的值(原始值也可以是对象值)就是这个属性的值

    2. 通过new创建对象

    3. 原型

    每一个对象都从原型继承属性。

    没有原型的对象:Object.prototype

    创建对象

    原型

    对象直接量创建对象

    Object.prototype

    通过new创建对象

    构造函数的prototype属性

    通过Object.create()创建对象

    使用第一个参数

    4. Object.create()

    创建一个新对象,其中第一个参数是这个创建对象的原型。第二个可选参数,用以对对象的属性进行进一步描述。

    Object.create(null);     //不继承任何属性和方法

    Object.create(Object.prototype);   //和{}、new Object()一样

    //返回了一个继承自原型对象p的属性的新对象
    function inherit(p) {
        if(p==null) throw TypeError();    //p是一个对象,但不能是null
        if(Object.create) {                //如果Object.create属性存在
            return Object.create(p);
        }
        var type = typeof p;            //否则进行进一步检测
        if(type !== 'object' && t !== 'function')    throw TypeError();
        function f() {}                    //定义一个空构造函数
        f.prototype = p;                //继承对象p的属性
        return new f();                    //返回p的子对象f(继承对象)
    }
  • 相关阅读:
    react-redux-reducer
    react-redux-action
    node-express-2-jade
    node-express-1
    vuex-Module
    vuex-Action(异步)
    vuex-Mutation(同步)
    vuex-getter
    vuex-state
    ##DAY7 UINavigationController
  • 原文地址:https://www.cnblogs.com/mackxu/p/2936185.html
Copyright © 2011-2022 走看看