为何使用4个random()方法呢,前3个都没有实现是否没有意义呢?
我看到下面的一个工具类有如下4个方法:
它使用了4个random()方法在这里:
export namespace GeoUtil {
export function random(): number
export function random(max: number): number
export function random(min: number, max: number): number
export function random(min?: number, max?: number): number {
let mmin
let mmax
if (max == null) {
mmax = min == null ? 1 : min
mmin = 0
} else {
mmax = max
mmin = min == null ? 0 : min
}
if (mmax < mmin) {
const temp = mmin
mmin = mmax
mmax = temp
}
return Math.floor(Math.random() * (mmax - mmin + 1) + mmin)
}
}
请问下,1.为何使用4个random()方法呢,前3个都没有实现是否没有意义呢?2.这里的export namespace GeoUtil
和 使用 export GeoUtil
有什么区别呢?如果不用namespace
可以用什么方式替代呢?
回复
1个回答
test
2024-07-09
这是函数重载的写法,表示这个函数支持多种的传参方式,比如:
- 可以不传参数;
- 只传一个参数,这一个参数表示max;
- 可以传两个参数;
使用上:
random();
random(5);
random(2, 5)
传一个参数时:
传两个参数时:
不同的传参方式,也会进行不同的提示。后面括号里的 +2overloads表示还有两个重载函数。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容