Safari上的Javascript错误

时间:2016-12-01 12:44:42

标签: javascript jquery math safari

我在桌面游戏中遇到一些javascript问题,在手机上工作正常。

当我尝试跑步时:

return Math.trunc(num * Math.pow(10, 2)) / Math.pow(10, 2);

我上了控制台:

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

知道为什么会这样吗?在其他浏览器上工作得很好,我不知道为什么(我从来没有使用过safari)。

2 个答案:

答案 0 :(得分:4)

ES2015(2015年6月)添加了

Math.trunc。显然你正在使用的Safari版本中的JavaScript引擎还没有。

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

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

答案 1 :(得分:0)

return ~~(num * Math.pow(10, 2)) / Math.pow(10, 2);怎么样?

~~运算符似乎是Math.trunc()

的良好替代品