Math.floor()是下取整,将一切都转为数字,再取整
parseInt()取整,将一切都转为字符串,再按位读数字字符
参数是正数的时候,两者无差别:
Math.floor(345.678)=>parseInt(345.678)=>345
参数是包含非数字的字符串:
parseInt("12.5px")=>12
Math.floor("12.5px")=>Math.floor(Number("12.5px"))=>Math.floor(NaN)=>NaN
参数是bool类型:
Math.floor(true)=>1
Math.floor(Number(true))=>1
parseInt(true)=>NaN
parseInt(String(true))=>parseInt("true")=>NaN
本质就是隐式转换