ES6新增的5个数字处理函数详解

作者:青柠时间:2026-10-21 23:42:42浏览:164

本文介绍ES6标准中新增的五个数字处理相关方法:Math.trunc用于去除小数部分,Math.sign判断数值正负及零,Math.cbrt计算立方根,Math.clz32返回32位无符号整数的前导零个数,Math.imul执行32位带符号整数乘法。这些方法补充了传统Math对象的功能,适用于特定数值计算场景。

ES6新增的5个数字处理函数详解


// Math.trunc方法用于去除一个数的小数部分,返回整数部分。
 Math.trunc(4.1) // 4
 Math.trunc(4.9) // 4
 Math.trunc(-4.1) // -4
 Math.trunc(-4.9) // -4
 Math.trunc(NaN); // NaN
 Math.trunc('foo'); // NaN
 Math.trunc(); // NaN

// Math.sign方法用来判断一个数到底是正数、负数、还是零。
 // 它会返回五种值。
 // 参数为正数,返回+1;
 // 参数为负数,返回-1;
 // 参数为0,返回0;
 // 参数为-0,返回-0;
 // 其他值,返回NaN。
 // 
 Math.sign(-5) // -1
 Math.sign(5) // +1
 Math.sign(0) // +0
 Math.sign(-0) // -0
 Math.sign(NaN) // NaN
 Math.sign('foo'); // NaN
 Math.sign(); // NaN

// Math.cbrt方法用于计算一个数的立方根
 Math.cbrt(-1); // -1
 Math.cbrt(0); // 0
 Math.cbrt(1); // 1
 Math.cbrt(2); // 1.2599210498948734

// JavaScript的整数使用32位二进制形式表示,Math.clz32方法返回一个数的32位无符号整数形式有多少个前导0。
 Math.clz32(0) // 32
 Math.clz32(1) // 31
 Math.clz32(1000) // 22
// 对于小数,Math.clz32方法只考虑整数部分。
 Math.clz32(3.2) // 30
 Math.clz32(3.9) // 30
// 对于空值或其他类型的值,Math.clz32方法会将它们先转为数值,然后再计算。
 Math.clz32() // 32
 Math.clz32(NaN) // 32
 Math.clz32(Infinity) // 32
 Math.clz32(null) // 32
 Math.clz32('foo') // 32
 Math.clz32([]) // 32
 Math.clz32({}) // 32
 Math.clz32(true) // 31

// Math.imul方法返回两个数以32位带符号整数形式相乘的结果,返回的也是一个32位的带符号整数
 Math.imul(2, 4); // 8
 Math.imul(-1, 8); // -8
 Math.imul(-2, -2); // 4

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!

作者最新文章