JavaScript Math对象,当需要进行各种常见的运算时,用Math对象能够简化很多工作。
与Date对象不同的是,Math对象不需要创建就可以使用。它是已经存在的,可供用户直接调用它的方法。
下表列出了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的属性的方式出现,如下表所示。
我们可以在计算中直接使用这些常数:
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对象实现了关联。
酷客网相关文章:
评论前必须登录!
注册