在实际项目中,总会遇到一些函数频繁调用的情况,比如window.resize,mouseover,上传进度类似的触发频率比较高的函数,造成很大的性能损耗,这里可以使用节流函数来进行性能优化: 此函数可以触类旁通,throttle是个高阶函数,参数输入是个函数【该频繁调用的函数】以及触发时间,第一次触 ...
分类:
其他好文 时间:
2018-11-06 15:42:44
阅读次数:
188
回顾什么是装饰器: 装饰器定义:本质就是函数(高阶函数),功能是为其他函数(对象)添加新功能一、类的装饰器基本实现原理如下: 二、上述的简单装饰器是没有参数的,现在我们加上参数 通过这样就可以动态的给不同的类在他实例化前增加属性 三、结合描述符 通过描述符和类的装饰器组合使用,可以完成很多功能,比如 ...
分类:
编程语言 时间:
2018-11-03 21:02:49
阅读次数:
148
装饰器本质是函数,(装饰其他函数),就是为其他函数添加附加功能#原则1.不能修改被装饰的函数的源代码2.不能修改被装饰的函数的调用方式#实现装饰器知识1.函数即变量2.高阶函数3.嵌套函数装饰器=高阶函数+嵌套函数#装饰器例子‘‘‘‘importtimedeftimmer(func):defwarapper(args,*kwargs):start_time=time
分类:
其他好文 时间:
2018-11-01 20:27:37
阅读次数:
175
单独记录装饰器这个知识点是因为这个知识点是非常重要的,必须掌握的。 了解装饰器之前要知道三个知识点 满足下列其中一种即可称之为高阶函数: a、把一个函数名当做实参传递给另一个函数 b、返回值中包含函数名 满足下列其中一种即可称之为高阶函数: a、把一个函数名当做实参传递给另一个函数 b、返回值中包含 ...
分类:
编程语言 时间:
2018-11-01 12:36:02
阅读次数:
119
之前写的《JavaScript学习手册》,客户跟我说有些内容不适合初学者,让我删了,感觉挺可惜的,拿到这里和大家分享。 JavaScript中的一切都是对象,这句话同样适用于函数。函数对象可以作为函数的参数。 一 函数对象作为另一个函数的参数 函数可以作为另外一个函数的参数,这里的“另外一个函数”可 ...
分类:
编程语言 时间:
2018-10-31 14:01:09
阅读次数:
164
所谓的抽象:只声明、未定义; 抽象机制决定了软件的架构; 关键词:动态、扩展、多态 抽象的载体: 类型抽象:协议、接口、虚基类、抽象类、泛型、基类、高阶类型; 函数抽象:高阶函数、依赖抽象类型的函数; 抽象的具体化: 继承、实现、构造; 抽象类型变量的声明(抽象的关联): 变量、参量、返回值; 抽象 ...
分类:
编程语言 时间:
2018-10-30 12:08:15
阅读次数:
161
描述 sorted() 函数对所有可迭代的对象进行排序操作。 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是 ...
分类:
编程语言 时间:
2018-10-30 12:05:41
阅读次数:
167
装饰器(语法糖decorator)定义 装饰器本质上是函数 装饰器的功能是为了装饰其他函数 为其他函数添加附加功能 装饰器特定的原则 不能修改被装饰函数的原代码 不能修改被装饰函数的调用方式 装饰器相关知识点 函数即“变量” 高阶函数 把一个函数名当做实参传给另外一个函数(在不修改函数的原代码为函数 ...
分类:
其他好文 时间:
2018-10-30 00:26:37
阅读次数:
143
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。
分类:
编程语言 时间:
2018-10-29 14:05:19
阅读次数:
204
1.纯函数 表示函数无副作用(状态变化)。 2.引用透明性 表示对相同输入,总是得到相同输出。 3.函数是一等公民 函数与变量、对象、类是同一等级。表示可以把函数当做参数传入另一个函数,或者作为函数的返回值,甚至可以在一个函数中定义另一个函数。 4.高阶函数的定义 参数是函数,或者返回值是函数。 5... ...
分类:
其他好文 时间:
2018-10-28 00:11:23
阅读次数:
189