Hercules11
  • 主页
  • 关于
  • 标签
  • 归档
  •   
  •   

bigfrontend 代码题(五)

29. 实现async helper - sequence()该题目和11. 什么是Composition?实现pipe()有些类似。 请实现一个async helper - sequence()。sequence()像pipe() 那样将异步函数串联在一起。 本题目中的所有异步函数是如下interface。 123456type Callback = (error: Error, data: a
2021-10-23
#做题

bigfrontend 代码题(四)

16. 实现一个Event EmitterNode.js中有Event Emitter,Facebook 也曾经有自己的实现 不过已经archive了。 请实现你自己的 Event Emitter 1const emitter = new Emitter() 它需要支持事件订阅 12345const sub1 = emitter.subscribe('event1', ca
2021-10-21
#做题

bigfrontend 代码题(三)

8. 手写shuffle()随机打乱一个数组能否手写一个shuffle() ? 当传入一个数组的时候,shuffle()需要更换元素的顺序,每一种最终的数列都需要被相等的概率生成。 比如 1const arr = [1, 2, 3, 4] 以上的数组共有4! = 24 中不同的排列 12345[1, 2, 3, 4][1, 2, 4, 3]... 你写的 shuffle() 需要按照相同的概率
2021-10-20
#做题

bigfrontend 代码题(二)

4. 手写throttle()Throttle是web应用中经常用到的技巧,通常情况下你应该使用现有的实现,比如lodash throttle() 。 你能够自己实现一个基本的throttle()吗? 再次说明一下,throttle(func, delay)返回一个function,这个function无论多么频繁地调用,原始的func的调用也不会超过指定的频率。 比如,这是throttle之前的
2021-10-19
#做题

bigfrontend 代码题(一)

1. 实现curry()柯里化(Currying) 在JavaScript是一个常用的技巧。 请实现一个curry()方法,接受一个function然后返回一个柯里化过后的function。 这是一个例子 1234567891011const join = (a, b, c) => { return `${a}_${b}_${c
2021-10-19
#做题

通过命令行使用Python

from: 命令行与环境 命令行调用 Python 时,可以指定下列任意选项: 1python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args] 最常见的用例是启动时执行脚本: 1python myscript.py 通过运行 where python 可以查看 python 安装位置 1234C:
2021-10-19
#文档阅读

Javascript中变量、函数、对象、类的声明方法汇总

变量 关注变量的声明符,let、const、var 旧时的 “var” let — 现代的变量声明方式。 var — 老旧的变量声明方式。一般情况下,我们不会再使用它。但是,我们会在 旧时的 “var” 章节介绍 var 和 let 的微妙差别,以防你需要它们。 const — 类似于 let,但是变量的值无法被修改。 变量的命名: 变量名称必须仅包含字母,数字,符号 $ 和 _。 首字
2021-09-21
#知识汇总

函数的apply、call、bind 方法的区别

参考:装饰器模式和转发,call/apply 装饰器 是一个围绕改变函数行为的包装器。主要工作仍由该函数来完成。 装饰器可以被看作是可以添加到函数的 “features” 或 “aspects”。我们可以添加一个或添加多个。而这一切都无需更改其代码! 为了实现 cachingDecorator,我们研究了以下方法: func.call(context, arg1, arg2…) —— 用给定的上
2021-09-02
#知识总结

C语言中的*和&

What’s the difference between * and & in C?* 和 & 作为类型修饰符: int i 声明一个整数类型变量 i int* p 声明一个指向整数类型变量的指针 p int& r = i 声明一个对整数类型变量的引用,并且这个变量为 i. (仅用在C++ 中,注意引用必须在初始化的时候进行赋值;因此 int& i; 是不存
2021-08-08
#学习总结

技术学习方法总结

我主张,在具备基础之后,学习任何新东西,都要抓住主线,突出重点。对于关键理论的学习,要集中精力,速战速决。而旁枝末节和非本质性的知识内容,完全可以留给实践去零敲碎打。 原因是这样的,任何一个高级的知识内容,其中都只有一小部分是有思想创新、有重大影响的,而其它很多东西都是琐碎的、非本质的。因此,集中学习时必须把握住真正重要那部分,把其它东西留给实践。对于重点知识,只有集中学习其理论,才能确保体系性、
2021-08-01
#方法总结
12345

搜索