获得徽章 0
赞了这篇沸点
互联网是真降温了啊?想换个工作,投了几家公司,就1家回的。---上海
23
为什么留海屏的 MacBook pro 会这么丑呢?又厚、又重!
13
我知道它是实现生命周期函数的核心代码,我也知道它是实现 hooks 方式的核心代码,但是我不知道它是基于何种的设计模式与理念?发布订阅模式?回调函数模式(有这个模式吗?),请懂的大佬,给我科普下吧,感谢了!

下面是 VueRouter 中关于实现钩子的核心代码:
Mottle于2021-09-24 13:13发布的图片
评论
我知道它是实现生命周期函数的核心代码,我也知道它是实现 hooks 方式的核心代码,但是我不知道它是基于何种的设计模式与理念?发布订阅模式?回调函数模式(有这个模式吗?),请懂的大佬,给我科普下吧,感谢了!

下面是 VueRouter 中关于实现钩子的核心代码:
Mottle于2021-09-24 11:33发布的图片
评论
验证输入数值有效性,又调整了一波,欢迎大家测试~
【源沸点链接:juejin.cn
---------------无奈的分割线-------------------
源码:
```js
function isNumber(num) {
const float = parseFloat(num);
if (isNaN(float)) return false;
if (float - float !== 0) return false;
return true;
}
```
展开
Mottle于2021-09-18 13:53发布的图片
3
只用来验证有效数字(有理数)、排除 NaN,Infinity,null,undefine 等特殊值,随手写的,不知道有没有 bug,如果大家有兴趣,请帮忙验证下

我为什么不使用 lodash 的 isNumber 工具方法?
答:因为它会认为 Infinity 是一个数值。


```js
function isNumber(num) {
if (num === '') return false;
if (num === null) return false;
if (isNaN(num)) return false;
if (num * 1 - num * 1 !== 0) return false;
return true;
}
```
Eg:

```js
isNumber('') //false
isNumber(null) //false
isNumber(Infinity) //false
isNumber(NaN)//false
isNumber('a')//false
isNumber(0)//true
isNumber(-1)//true
```
展开
9
这个是掘金的彩蛋吗?[哭笑]
Mottle于2021-09-16 10:56发布的图片
评论
下一页
个人成就
文章被点赞276
文章被阅读44,247
掘力值718
收藏集
50
关注标签
13
加入于