一、装饰器介绍 1.1 为什么要用装饰器 1.2 什么是装饰器 二、装饰器的实现 2.1 无参装饰器的实现 2.2 有参装饰器的实现 一、装饰器介绍 为何要用装饰器 软件的设计应该遵循开放封闭原则,即对扩展是开放的,而对修改是封闭的。对扩展开放,意味着有新的需求或变化时,可以对现有的代码进行扩展,以 ...
分类:
其他好文 时间:
2021-07-02 16:13:46
阅读次数:
0
created on 21/03/04 this是什么 任何函数本质上都是通过某个对象来调用的,未直接指定就是window 所有函数内部都有一个this this的值是调用函数的当前对象 如何确定this的值 test():window p.test():p new test():新创建的对象 p. ...
分类:
其他好文 时间:
2021-07-01 17:25:30
阅读次数:
0
前言 需求:有这样一个数组[10, 20, 110, 200, 60, 30, 40] 1.筛选出数组中小于100的元素 2.将筛选出的每个元素的值x2 3.完成第2步之后,将数组中的所有元素加起来 普通方法 如果我们还没接触过filter、map、reduce,那么就是用for循环 <script ...
分类:
编程语言 时间:
2021-07-01 16:21:52
阅读次数:
0
//produceTypeList-produceType:存在produceTypeList中不存在produceType中 let diff1 = produceTypeList.filter(function(v){ return produceType.indexOf(v) -1 }).jo ...
分类:
编程语言 时间:
2021-06-30 18:45:31
阅读次数:
0
里氏替换原则: 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。 定义2:所有引用基类的地方必须能透明地使用其子类的对象。 问题由 ...
分类:
其他好文 时间:
2021-06-30 18:10:40
阅读次数:
0
1.目录 2.service package main import ( "fmt" "net" ) func processConn(conn net.Conn) { for { //3.与客户端通信 var temp [128]byte n, err := conn.Read(temp[:]) ...
分类:
其他好文 时间:
2021-06-29 16:04:05
阅读次数:
0
1.普通函数this指向window; function fn() { console.log('普通函数的this' + this); } window.fn(); 2.对象的方法 this指向调用者O var o={ sayHi:function(){ console.log('对象方法的thi ...
分类:
其他好文 时间:
2021-06-29 15:30:45
阅读次数:
0
14. 字符串 什么是字符串? Go 语言中的字符串是一个字节切片。把内容放在双引号""之间,我们可以创建一个字符串。让我们来看一个创建并打印字符串的简单示例。 Copy package main import ( "fmt" ) func main() { name := "Hello World ...
分类:
其他好文 时间:
2021-06-28 21:18:43
阅读次数:
0
链接属性有external,internal,none。 关键字extern和static用于在生命中修改标识符的链接属性。 某个声明在默认的情况下是具有external属性的,前面追加static可以让它的属性变为internal。 helper.c: #include<stdio.h> int ...
分类:
编程语言 时间:
2021-06-28 20:22:08
阅读次数:
0
先安装 composer require jaeger/querylist 完成后会有jaeger文件 网页布局图 使用 use QL\QueryList; public function test() { $url = 'https://www.ivsky.com/tupian/wupin/ind ...
分类:
其他好文 时间:
2021-06-28 20:10:58
阅读次数:
0