数字的方法
数字的常用方法
语法: .Math.方法();
随机数: random
取整: 四舍五入: round 向下: floor 向上: ceil
绝对值: abs
开根号: sqrt
乘方: pow
最大: max
最小: min
圆周率: PI
求随机数
因为random只能生成0~1的随机小数,当需要一定范围的随机数时,需要搭配floor(parseInt)函数和数值来达到规定范围。 公式: 范围(数1,数2)=parseInt| ==Math.floor==(Math.random()*(数2+1-数1)+数1); 例子:
1.每次随机生成一个7~9的随机数;
var num=parseInt(Math.random()*((9+1-7)+7);
==提示:== 其他数字方法可以通过
console.log(Math);得到。
进制转换
十进制转化为其他进制:
toString(); //该方式会把数字转化为字符串;
其他进制转化为十进制:
parseInt(); //第一个参数是转化的数值,第二个参数是当前数值所处的进制;
面试题
var arr = [1, 2, 3].map(parseInt);
==arr打印的结果是什么?==
首先map函数普通形式为map(function(item,index,arry{}),所以可以先转化为
var arr = [ 1, 2, 3].parseInt(item,index));
由于parseInt可以进行进制转换,第二个参数是当前数值所处的进制,所以范围是2~36。
parseInt(‘1’, 0); // 1 (parseInt的处理方式,这个地方item没有以"0x"或者"0X"开始,8和10这个基数由实现环境来定,ES5规定使用10来作为基数,因此这个0相当于传递了10)
parseInt(‘2’, 1); // NaN (因为parseInt的定义,超出了radix的界限)
parseInt(‘3’, 2); // NaN (虽然没有超出界限,但是二进制里面没有3,因此返回NaN)
故结果为
[1,NaN,NaN]