数值扩展

Number.isFinite()

{
    // 判断数值是否无尽或有尽
    console.log(Number.isFinite(15)); // true
    console.log(Number.isFinite(NaN)); // false
    console.log(Number.isFinite(1 / 0)); // false
}

Number.isNaN()

{
    // 判断是否为NaN
    console.log(Number.isNaN(NaN)); // true
    console.log(Number.isNaN(0)); // false
}

Number.isInteger()

{
    // 判断数值是否为整数,参数必须为数值类型
    console.log(Number.isInteger(25)); // true
    console.log(Number.isInteger(25.0)); // true
    console.log(Number.isInteger(25.1)); // false
    console.log(Number.isInteger('25')); // false
}

Number.isSafeInteger()

{
    // js能准确表示的整数范围在-2^53到2^53之间(不含两个端点),超过这个范围,无法精确表示这个值。
    // isSafeInteger()用来判断一个整数是否落在这个范围之内。
    console.log(Number.MAX_SAFE_INTEGER, Number.MIN_SAFE_INTEGER); // 9007199254740991 -9007199254740991
    console.log(Number.isSafeInteger(10)); // true
    console.log(Number.isSafeInteger(1.2)); // false
    console.log(Number.isSafeInteger('a')); // false
    console.log(Number.isSafeInteger(null)); // false
    console.log(Number.isSafeInteger(NaN)); // false
    console.log(Number.isSafeInteger(9007199254740990)); // true
    console.log(Number.isSafeInteger(9007199254740992)); // false
}

Math.trunc()

{
    // trunc方法取一个数的整数部分
    console.log(Math.trunc(4.1)); // 4
    console.log(Math.trunc(4.9)); // 4
}

Math.sign()

{
    // sign方法判断数值小于0、等于0、大于0的情况
    console.log(Math.sign(-5)); // -1
    console.log(Math.sign(0)); // 0
    console.log(Math.sign(5)); // 1
    console.log(Math.sign('50')); // 1
    console.log(Math.sign('foo')); // NaN
}

Math.cbrt()

{
    // cbrt取数值的立方根
    console.log(Math.cbrt(-1)); // -1
    console.log(Math.cbrt(8)); // 2
    console.log(Math.cbrt('27')); // 3
    console.log(Math.cbrt('foo')); // NaN
}

lxcan
337 声望32 粉丝