王家盛
王家盛
前来学习+1,视频做的很棒👍🏻,学到了不少东西。
@ssjtbcf `console.log(123)` 忘记加` ; `了。 `[]`和`()` 之间如果不添加 `; `,在 `javascript` 执行时中不会帮你自动添加分号,会误认为是一条执行语句。
山月老师给出的答案:使用 `Math.random` 产生的随机数进行 36 进制转化,该随机数是由0-9,a-z 构成的。 还有一种方案是对大写字母,小写字母以及数字的 ASCII 码进行转化。 ```javascript random_v1(4); random_v1(6); // ASCII: // 大写字母:65~90 // 小写字母:97~122 // 数字:48-57 function random_v1(num: number) { let b = new Array(num) .fill(0)...
使用 `forEach`遍历可以过滤 `undefined` ```javascript function reduce(arr, fn, init) { let pre = init ? init : arr[0]; let startIndex = init ? 0 : 1; arr.slice(startIndex).forEach((cur) => { pre =...
写一个啰嗦一点的版本供大家参考: 想法很简单: 1. 用一个变量收集所有的参数。 2. 返回一个带有 valueOf 属性的 function。 ```javascript function sum(...args: number[]) { // allArgs 收集所有的 args let allArgs = args; // 返回一个 function 可以接受参数 function fn(...args2) { allArgs...
> Released a fix with [v4.3.1](https://www.npmjs.com/package/yo/v/4.3.1) :octocat: this errro happen in latest MacOS,( Sonoma 14.1.1 ) ## Temporary Solution:
基于 `tapable` 思想:红绿灯问题可转化为异步串行 + 循环结构构造 ```js /* 方案一:封装 Promise 列表 */ const light = (callback, seconds = 500) => { return () => { return new Promise(resolve => { setTimeout(()...
方案二:基于 koa 函数的 compose 思想 ```ts /* 构造延时 */ const light = (cb, delay = 1000) => { return (next) => setTimeout(() => { cb(); /* 当前函数执行后,触发 next 函数 */...
方案一:基于 `tapable` 思想,构造异步任务串 ```js const repeat = (cb, delay = 1000, times = 5) => { /* 高阶函数 */ return (text) => { /* 封装为 promise */ const asyncFn =...
测试代码: ```js function sleep(text, delay = 1000) { return () => new Promise(resolve => { setTimeout(() => { console.log(text) resolve(); }, delay); }); } const tasks = [1, 2, 3,...