我在桌面 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)。
最佳答案
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);
}
});
}
关于Safari 上的 JavaScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40911040/