Polyfill for Math.max使其可用于旧版浏览器/系统

时间:2016-11-03 19:26:00

标签: javascript polyfills

我正在使用Math.max函数,但它并非在所有设备和浏览器上都可用。是否有Polyfill或其他简单快捷的方法来解决这个问题?

3 个答案:

答案 0 :(得分:0)

据Mozilla Math.max提供完整的浏览器和移动支持。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max

答案 1 :(得分:0)

请参阅以下代码:

if (!Math.max)
{
    Math.max = function()
  {
    var max = Infinity * -1;
    for (var index = 0; index < arguments.length; index++)
    {
        var val = arguments[index];
      if (val > max)
      {
        max = val;
      }
    }
    return max;
  };
}

样本: https://jsfiddle.net/1x3d1btf/3/

答案 2 :(得分:0)

你遇到的问题不在于Math.max,因为这是永远支持的。它是解构(...中的Math.max(...array))。为了解决这个问题,你可以使用很可能支持的旧版JavaScript。 试试:

Math.max.apply(null, array);(与Math.max(...array)几乎完全相同。