Math对象
Math对象能够进行比基本数学运算更为复杂的运算。常常用于执行一些数学方面的任务。
Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。我们使用的时候无需创建它,只需要通过把 Math 作为对象使用就可以调用其所有属性和方法。
Math对象的属性
Math对象有很多不同的属性,以下列出Math的属性表
代码实例:
//求圆面积
var r = 2;
var s = r*r*Math.PI;
Math对象的方法
Math提供了很多相当好用的方法。以下列出其中一部分
Math.Random()方法
random() 方法可返回介于 0 ~ 1 之间的一个随机数。通过调用random()可以获得一个0-1之前的随机数,如果将得到的值乘以对应的数值,再用Math.floor函数取得最小临近整数,就可以得到0到对应数值之间的随机数。
实现代码如下:
//生成0-100之间的随机数
Math.floor(Math.random()*100)+1;
//生成50-100之间的随机数
Math.floor(Math.random()*51)+50;
//由上面可以得到生成任意两个数之间随机数的自定义函数
function randomNum(num1, num2) {
var max = Math.max(num1, num2);
var min = Math.min(num1, num2);
return Math.floor(Math.random() * (max - min + 1)) + min
}
数组
JS中的数组与JAVA,C中的数组有所不同,他的性质更接近于JAVA中的ArrayList,在JS的数组中,同一数组可以储存多个不同类型的元素,且数组中的元素可以自动根据存入的数据调整长度。
数组的创建
数组有很多种创建方式,以下列出部分创建方式供参考。
- 无参创建
var arr = new Array();
var arr = [];
- 带初始值创建
var arr = new Array("red","yellow");
var arr = ["red","yellow"];
- 带初始长度创建
var arr = new Array(5);
- 赋值
arr[0] = "red";
arr[100]= "yellow";
赋值时,可对任意下标(超出范围也可)的元素赋值,数组长度会自动调整
数组的访问
通过数组的名称和下标直接访问数组元素,下标从0开始,格式为数组[下标]
未赋值的元素也可访问,但返回为undefined
- 获取数组长度
var arr = ["red", "yellow", "blue", "green"];
arr.length; //4
- 遍历数组
//for循环遍历
var arr = ["red", "yellow", "blue", "green"];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
//for in遍历
var arr = ["red", "yellow", "blue", "green"];
for (var i in arr) {
console.log(arr[i]);
}
添加和删除数组元素
数组除了可以手动用下标赋值以外,还可以用pop()和push()方法来进行快捷的数据增减
- pop() pop()可以删除数组最后一个值并返回该值
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop();//fruits的值是["Banana", "Orange", "Apple"]; x的值是"Mango"
- push() push()可以向数组的末尾添加一个或多个元素并返回数组的长度
//添加一个元素
var fruits = ["Banana", "Orange"];
var x = fruits.push("Apple");//fruits的值是["Banana", "Orange", "Apple"]; x的值是3
//添加多个元素
var fruits = ["Banana", "Orange"];
fruits.push("Apple","Mango");//fruits的值是["Banana", "Orange", "Apple","Mango"];