首页 > 其他分享 >寄生构造函数模式

寄生构造函数模式

时间:2023-02-14 15:37:22浏览次数:37  
标签:function return 模式 寄生 values var new 构造函数


/*感觉没多大用记下得了*/
/*
* 基本思维:
* 创建一个函数,该函数的作用仅是封装创建对象的代码,然后返回新创建的对象。
* 表面上看很像构造函数
* */

function Person(name,age,job) {
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.say = function () {
console.log(this.name);
};
return o;
}

var friend = new Person("A",20,"play");
friend.say();//A

var friend1 = new Person("B",20,"Doctor");
friend1.say();

//除了使用newe操作符并把使用的包装函数叫做构造函数外,这个模式跟工厂模式一摸一样。
//构造函数在不返回值的情况下,默认返回新对象实例而这个函数结尾有一个return语句,将重写调用构造函数返回的值。

//比如我们写一个类用来创建一个数组,这个类有一个方法可以将数组中的元素用"|"符号分开
function SpecialArray() {
var values = new Array();
values.push.apply(values,arguments);
values.toPipedString = function () {
return this.join("|");
};
return values;
}

var arr = new SpecialArray("A","B","C");
console.log(arr.toPipedString());


标签:function,return,模式,寄生,values,var,new,构造函数
From: https://blog.51cto.com/u_15964288/6056963

相关文章

  • 原型模式的不足和解决办法
    原型模式的缺点:*虽然省略了为构造函数传递初始化参数这一环节,结果所有的实例都有了默认的相同的属性值。会带来一些不方便,但主要问题还是由其共享的本质所导致的。*原型......
  • 类的构造函数和析构函数
    构造函数和析构函数构造函数是类的入口函数析构函数是类的销毁函数1、构造函数a、构造函数默认是public类型的,如果定义private则定义外部不能进行对象的创建,所以只能是......
  • 基本类型值基于两种不同模式创建的值是不同的
    num2是数字类(Number)的实例,mun1也是,只是表达方式不同,也都可以使用数字类的属性和方法 ......
  • RTP分包模式(H264/H265)
       在rfc6184-h264文档5.4章节有详细说明、以及rfc7798-h265文档4.2章节中也有部分介绍。一、NALUHeader●H264NALUHeader(1byte)结构图如下:F:   1 bit......
  • 单例模式的6种写法
    简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回......
  • 通过rlwrap实现disql、dmrman交互模式上下翻、左右移动光标功能
    前言DM数据库默认没有上下翻看历史SQL、左右移动光标修改SQL的功能,无论是在测试学习还是生产中不便利,接下来介绍如何通过rlwrap实现DM数据库中disql、dmrman交互模式上下......
  • 无头模式窗口大小导致的问题
    fromseleniumimportwebdriverfromselenium.webdriver.common.alertimportAlertfromselenium.webdriver.support.waitimportWebDriverWaitfromselenium.webdriv......
  • spark的DataFrame的schema模式:读时模式, 指定模式
    读时模式valpath="/Volumes/Data/BigData_code/data/"//读取json生成dataframevaldf=spark.read.format("json").load(path+"flight-data/json/2015-......
  • 文盘Rust -- 领域交互模式如何实现
    作者:京东科技贾世闻文盘Rust--领域交互模式如何实现书接上文,上回说到如何通过​​interactcli-rs​​四步实现一个命令行程序。但是shell交互模式在有些场景下用户体验并......
  • 文盘Rust -- 领域交互模式如何实现
    作者:京东科技贾世闻文盘Rust--领域交互模式如何实现书接上文,上回说到如何通过interactcli-rs四步实现一个命令行程序。但是shell交互模式在有些场景下用户体验并不是......