zoukankan      html  css  js  c++  java
  • 原型模式

    介绍

    原型模式是创建型模式的一种,其特点在于通过复制一个已经存在的实例来返回新的实例。被复制的实例就是我们所称的原型,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。

    对于原型模式,我们可以利用JavaScript特有的原型继承特性去创建对象的方式,也就是创建的一个对象作为另外一个对象的prototype属性值。原型对象本身就是有效的利用了每个构造器创建的对象,例如,如果一个构造函数的原型包含了一个name属性,那么通过这个构造函数创建的对对象都会有这个属性。

            let _obj = {
                name:'1',
                getName(){
                    console.log(this.name)
                }
            }
            let _newObj = Object.create(_obj);
            console.log(_newObj.name) // 1
    

    如果你不想使用Object.create实现原型模式,可以继续往下看

            let _obj = {
                init(name) {
                    this.name = name;
                },
                getName() {
                    console.log(`我的名字叫${this.name}`)
                }
            }
            function fn(name) {
                function Fn(){};
                Fn.prototype = _obj;
                let _f = new Fn();
                _f.init(name);
                return _f
            }
            let _newFn = fn('小明');
            _newFn.getName();  // 我的名字叫小明
    
  • 相关阅读:
    特殊符号大全
    CSS速记
    JavaScript命名规范
    vim 常用快捷键
    Set a mouse hook
    ASP不可遗弃的通用函数
    ASP递归层级表格数据展示
    最简约JS日历控件
    ASP统计图
    ASP标准MD5代码
  • 原文地址:https://www.cnblogs.com/mengxiangji/p/10981823.html
Copyright © 2011-2022 走看看