Safari 上的 JavaScript 错误

Hec*_*ete 0 javascript math safari jquery

我在桌面 safari 上使用 javascript 时遇到一些问题,但在移动设备上工作正常。

当我尝试运行时:

return Math.trunc(num * Math.pow(10, 2)) / Math.pow(10, 2);
Run Code Online (Sandbox Code Playgroud)

我正在控制台上:

TypeError: 'undefined' is not a function (evaluating 'Math.trunc(num * Math.pow(10, 2))')
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?在其他浏览器上工作正常,我不知道为什么(我从未使用过 safari)。

T.J*_*der 5

Math.trunc在 ES2015(2015 年 6 月)中添加。显然您使用的 Safari 版本中的 JavaScript 引擎还没有它。

如果缺少的话,你可以填充它:

if (!Math.trunc) {
    Object.defineProperty(Math, "trunc", {
        value: function(val) {
            return val < 0 ? Math.ceil(val) : Math.floor(val);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)