Chuck
Chuck
为啥我的文件里打印 GIT_PARAMS 为空?使用了 husky,打印 HUSKY_GIT_PARAMS 也是为空呢?我是在 commit-msg.sh 文件里运行了 `node checkcommitmsg.js ${GIT_PARAMS}`,但是这样拿不到这个变量呢?
如果加了垂直对齐样式还是出现了留白,可以看下是否是浏览器处于缩放状态,超过 100% 会出现留白。
上述方案存在一个问题,那就是如果我想在插值表达式里执行一些运算逻辑,那么就会报错。如果要执行一个字符串,第一时间想到的是 eval 函数,但是这仍然存在一个问题,就是 eval 执行字符串的时候,里面的变量上下文该如何获取?这时候就可以使用 with 函数,把 data 传递进去,这样就避免了访问数据时还得加上 data. 前缀。 ```js let template = "大家好,我的名字叫做${ name.includes('H') ? name : '' },我是一名${ job },今年${ age[1] }岁。" let data = {...
第二种方案其实仍然不够好,原因就是 eval 存在安全隐患,不推荐继续使用它。能够想到的替代方案就是 new Function,把需要执行的代码拼接成字符串: ```js let template = "大家好,我的名字叫做 ${ name.includes('H') ? name : '' },我是一名 ${ job },今年 ${ age[1] } 岁。" let data = { name: 'Henry',...
我的实现思路就是二分法,不停地二分,直到满足终止条件。 ```js function asyncAdd(a = 0, b = 0, callback) { setTimeout(function() { callback(a + b) }, 1000) } const add = (a = 0, b = 0) => new...
I use the v1.2.0 and it works.
具体场景是,侧边栏展开后,里面还有一个嵌套的折叠面板。
顺带着看了下 PromiseA+ 规范,写了如下的 Promise: ```js class _Promise { static PENDING = 'pending' static RESOLVED = 'resolved' static REJECTED = 'rejected' static resolve (value) { if (!value) return new _Promise(res =>...
目前还是和原生 Promise 存在不一致的问题,比如下面的 6 就不会被打印,原生 Promise 是会打印的。 ```js let sleep = function (time = 0) { return new _Promise(resolve => setTimeout(resolve, time)) } let start = Date.now(), end = 0...
参照了 promise 库的写法,完善了循环调用和状态只能改变一次,现在的 Promise 执行就符合预期了。 ```js class _Promise { static PENDING = 'pending' static RESOLVED = 'resolved' static REJECTED = 'rejected' static resolve (value) { if (value instanceof _Promise) return...