Tag: tofixed

.toFixed()在负指数上调用时返回一个数字,而不是一个string

我注意到,当调用toFixed负指数数字时,结果是一个数字,而不是一个string。 首先,让我们看看规格。 Number.prototype.toFixed (fractionDigits) 返回一个String其中包含以十进制定点表示法表示的Number值 ,小数点后的分数位数。 如果fractionDigits undefined ,则假定为0 。 实际情况是(在Chrome,Firefox,Node.js中testing): > -3e5.toFixed() -300000 所以,返回的值是-3e5 。 另外,请注意,这不是一个string。 这是一个数字: > x = -3e5.toFixed() -300000 > typeof x 'number' 如果我用圆括号包装input,它按预期工作: > x = (-3e5).toFixed() '-300000' > typeof x 'string' 为什么发生这种情况? 什么是解释?