在JS當(dāng)中,Math.min() 返回零個(gè)或更多個(gè)數(shù)值的最小值,Math.max()返回零個(gè)或更多個(gè)數(shù)值的最大值。
當(dāng)不傳參數(shù)時(shí),也許結(jié)果會(huì)讓許多人大跌眼鏡:
Math.min();//Infinity
Math.max();//-Infinity
看到一個(gè)比較好的解釋,在這里貼下:為什么 Math.min() 比 Math.max() 大?(續(xù))
吐槽開(kāi)始了。。。
這兩個(gè)API的字面意思是返回最大最小值,給人的感覺(jué),至少得傳一個(gè)參數(shù)啊,一般在生產(chǎn)環(huán)境中,估摸著也沒(méi)人無(wú)聊到不傳參數(shù)。對(duì)于實(shí)在無(wú)聊不傳參數(shù)的,完全可以拋出異常,返回個(gè)Infinity或-Infinity有甚用。
在JS中有好多API,為了所謂的容錯(cuò),返回的結(jié)果令人捉摸不透。同時(shí),有些接口的調(diào)用方式有好幾種,一點(diǎn)也不方便于記憶。這難道就是為JS靈活性所付出的代價(jià)嗎?