我看到下面的一个工具类有如下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
可以用什么方式替代呢?
这是函数重载的写法,表示这个函数支持多种的传参方式,比如:
使用上:
传一个参数时:
传两个参数时:
不同的传参方式,也会进行不同的提示。后面括号里的 +2overloads表示还有两个重载函数。