不一样哦,Math.floor()是对小数进行向下去整,不能对字符串进行操作。而parseInt()是类型转换,对数字或者字符串进行强制化整。也就是如果本身是数字就去点小数位化整,如果是字符串就只取字符串中开头的数字,如果开头没有数字就返回NaN
1.功能差异:
Math.floor() 方法可对一个数进行下舍入。
parseInt() 函数可解析一个字符串,并返回一个整数。
2.用法差异:
Math.floor(x),x为任意数值或表达式。
parseInt(string, radix),string为字符类型的数字,radix为要解析的数字的基数,取值2~36,默认为10,表示10进制
3.结果差异(反例举例,只说明二者不同):
Math.floor(-1.5)//-2
parseInt(-1.5)//-1
综上,两个函数完全不是相同的作用,只有在特殊情况下(都传一个正数,且只传一个参数)结果是一样,但不代表作用是一样的。
Math.floor(); 返回值为小于等于其数值参数的最大整数值。
ParseInt(); 方法返回与保存在 numString 中的数字值相等的整数。如果 numString 的前缀不能解释为整数,则返回 NaN(而不是数字)。
这是js API中的原话,
举个例子:Math.floor(12.999) = 12
Math.floor('12abc') = NaN (不是一个数字not a number)
ParseInt(12.999) = 12
ParseInt('12abc') = 12
ParseInt('abc') = NaN (不是一个数字not a number)
明白了么