Math.sign()

该特性处于 ECMAScript 6 规范草案中,目前的实现在未来可能会发生微调,请谨慎使用。

概述

Math.sign() 函数用来判断一个数字的符号, 是正数, 负数, 还是零.

语法

Math.sign(x)

参数

x
任意数字.

描述

因为 sign Math 的静态方法,所以你应该使用 Math.sign() ,而不是在 Math 的对象上调用(Math 不是构造器)。

此函数共有5种返回值, 分别是 1, -1, 0, -0, NaN. 代表的各是正数, 负数, 正零, 负零, NaN.

传入该函数的参数会被隐式转换成数字类型.

示例

Math.sign(3)     //  1
Math.sign(-3)    // -1
Math.sign("-3")  // -1
Math.sign(0)     //  0
Math.sign(-0)    // -0
Math.sign(NaN)   // NaN
Math.sign("foo") // NaN
Math.sign()      // NaN

Polyfill

function sign(x) {
    x = +x // convert to a number
    if (x === 0 || isNaN(x))
        return x
    return x > 0 ? 1 : -1
}

规范

Specification Status Comment
ECMAScript 6 (ECMA-262)
Math.sign
Release Candidate Initial definition.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 38 25 (25) 未实现 25 未实现
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未实现 未实现 25.0 (25) 未实现 未实现 未实现

相关链接

文档标签和贡献者

标签: 
 此页面的贡献者: tiansh, teoli, ziyunfei
 最后编辑者: tiansh,