JS Math.sign()

🌙
手机阅读
本文目录结构

Math.sign() 函数返回一个数字的符号, 指示数字是正数,负数还是零。

语法

  1. Math.sign(x);

参数

x

任意数字.

描述

因为 signMath 的一个静态方法,所以你应该使用 Math.sign() ,而不是作为你创建的一个Math对象的一种方法 (Math不是一个构造函数)。

而不是作为您创建的Math对象的一种方法(Math不是构造函数)。

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

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

示例

使用Math.sign()

  1. Math.sign(3); // 1
  2. Math.sign(-3); // -1
  3. Math.sign("-3"); // -1
  4. Math.sign(0); // 0
  5. Math.sign(-0); // -0
  6. Math.sign(NaN); // NaN
  7. Math.sign("foo"); // NaN
  8. Math.sign(); // NaN

Polyfill

  1. function sign(x) {
  2. x = +x ;// convert to a number
  3. if (x === 0 || isNaN(x))
  4. return x;
  5. return x > 0 ? 1 : -1;
  6. }
  1. if (!Math.sign) {
  2. Math.sign = function(x) {
  3. // If x is NaN, the result is NaN.
  4. // If x is -0, the result is -0.
  5. // If x is +0, the result is +0.
  6. // If x is negative and not -0, the result is -1.
  7. // If x is positive and not +0, the result is +1.
  8. x = +x; // convert to a number
  9. if (x === 0 || isNaN(x)) {
  10. return Number(x);
  11. }
  12. return x > 0 ? 1 : -1;
  13. };
  14. }

规范

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)Math.sign Standard Initial definition.

相关链接

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了