JavaScript Math对象

JavaScript Math对象,当需要进行各种常见的运算时,用Math对象能够简化很多工作。

与Date对象不同的是,Math对象不需要创建就可以使用。它是已经存在的,可供用户直接调用它的方法。

下表列出了Math对象常见的一些方法。

JavaScript Math对象

取整

ceil()、floor()和round()方法以不同方式把带小数点的数值截取为整数:

var myNum1 = 12.55;
var myNum2 = 12.45;
alert(Math.floor(myNum1));      //显示12
alert(Math.ceil(myNum1));       //显示13
alert(Math.round(myNum1));      //显示13
alert(Math.round(myNum2));      //显示12

在使用round()时,如果分数部分的值大于等于0.5,得到的结果就是向上最近的整数;反之,得到的结果就是向下最近的整数。

获得最大值和最小值

用min()和max()可以从一组数据中获得最小值和最大值:

var ageDavid = 23;
var ageMary = 27;
var ageChris = 31;
var ageSandy = 19;
document.write("The youngest person is " + Math.min(ageDavid, ageMary, ageChris,
ageSandy) + " years old<br />");
document.write("The oldest person is " + Math.max(ageDavid, ageMary, ageChris,
ageSandy) + " years old<br />");

输出结果如下所示:

The youngest person is 19 years old
The oldest person is 31 years old

生成随机数

Math.random()方法可以生成0和1之间的一个随机数。

更常见的情况是,我们想指定随机数的范围,比如,获得0和100之间的随机数。

由于Math.random()产生的是0和1之间的随机数,要让它实现我们的要求,最好把它包装到一个小函数里。下面这个函数利用Math对象生成的随机数,乘以变量range(作为参数传递给该函数)来扩大数值的范围,然后利用round()去除数值中的小数部分。

function myRand(range) {
    return Math.round(Math.random() * range);
}

如果想得到0和100之间的随机数,只需要调用myRand(100)。

myRand(100);

注意:直接使用Math方法
在程序里一定要直接使用Math的方法,这些方法是属于Math的,而不是属于创建的对象。换句话说,下面的语句是错误的:

var myNum = 25.77;
myNum.floor();

这样的代码会导致JavaScript错误。

正确的用法是

<p>Math.floor(myNum);</p>

数学常数

很多常用的数学常数都以Math的属性的方式出现,如下表所示。

JavaScript Math对象

我们可以在计算中直接使用这些常数:

var area = Math.PI * radius * radius;   // 圆的面积
var circumference = 2 * Math.PI * radius;   //周长

关键字with

任何对象都可以使用关键字with,但Math对象是最适合用来示范的。通过使用with,我们可以减少一些枯燥的键盘输入工作。

关键字with以对象作为参数,然后是一对花括号,其中包含着代码块。代码块里的语句在调用特定对象的方法时可以不必指定这个对象,因为JavaScript会假定这些方法是属于作为参数的那个对象的。

下面是一个范例:

with (Math) {
    var myRand = random();
    var biggest = max(3,4,5);
    var height = round(76.35);
}

在这个示例中,我们只使用方法的名称就调用了Math.random()Math.max()Math. round()方法,因为调用这些方法的代码块与Math对象实现了关联。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!