Math对象
Math对象能够进行比基本数学运算更为复杂的运算。
Math对象不需要生成对象的实例,可以直接访问它的属性和方法
Math对象的属性
上面的属性中PI最为常用,Math.PI
会比我们自己定义的常量PI更为精准,在一些场合中需要这样精细的运算
Math对象的方法
在3个取整的方法中,floor
方法最为常用,它在概率是是最为公平的
random
方法最为常用
Math.random()
这里给出一个通用的随机数方法,生成任意取值范围内的随机数
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
}
数组
创建数组
- 在同一个数组中可以存放多种类型的元素;
- 长度可动态调整,可随着数据增加或减少自动对数组长度做更改;
创建方式:
- 无参创建
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
数组的长度属性length
var arr = ["red", "yellow", "blue", "green"];
arr.length; //4
遍历数组
在之前的循环中就有介绍,历遍数组可以使用for in循环
var arr = ["red", "yellow", "blue", "green"];
for (var i in arr) {
console.log(arr[i]);
}
for循环就需要配合length
属性使用
var arr = ["red", "yellow", "blue", "green"];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
添加和删除数组元素
- pop()
从数组中删除最后一个元素并返回被删除的值
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop();//fruits的值是["Banana", "Orange", "Apple"]; x的值是"Mango"
- push()
向数组的末尾添加一个或更多元素并返回数组长度
可以添加多个元素
var fruits = ["Banana", "Orange"];
var x = fruits.push("Apple");//fruits的值是["Banana", "Orange", "Apple"]; x的值是3
- shift
从首位删除元素,且后面的元素向前移位 - unshift
从首位添加元素,且后面的元素向后移位
二维数组
创建与访问
创建
var fruits = [["1", "Banana"], ["2", "Orange"]];
var element = ["3", "Apple"];
fruits[2] = element;
访问
fruits[0] // ["1", "Banana"]
fruits[0][1] // "Banana"
遍历
二维数组添加元素