<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<div id="div1">
</div>
<script type="text/javascript">
var oDiv = document.getElementById("div1");
// 数组
// 能够保存一组(多个)数据的变量
// 数组如何定义?Array
var arr1 = new Array(); // 定义了一个空数组
// alert(arr1);
arr1 = new Array(10); // 数组length长度为10,元素个数
// alert(arr1);
// 数组中并不规定数据的类型,任何类型都可以
arr1 = new Array(1, 3, 5, "hello", oDiv); // 数组中有三个元素,1,3,5 分别是元素的值
// alert(arr1);
// 可以把new省略
arr1 = Array(1, 2);
// alert(arr1);
// 第二种定义数组----字面量
var arr2 = [1, 3, 5, oDiv, "world", 52.1];
// alert(arr2);
arr2 = [10]; // 是元素,而不是数组长度
arr2 = []; // 字面量定义空数组
// alert(arr2);
// 使用数组
// 数组是有顺序的集合
arr1 = [1, oDiv, 5.21, "hello"];
// 下标 i - >index 索引,下标
// 数组越界
// 取数组中某一元素需要用到下标 小标从0开始
// alert(arr1[4]); // undefined
// 如何给数组中的元素赋值
arr1[2] = "korea";
// alert(arr1);
// 练习:在控制台中打印出arr1 中的所有元素
// for (var i = 0; i < 4; i++) {
// console.log(arr1[i]);
// }
// 练习:把数组中所有的元素值都变成korea
// for (var i = 0; i < 4; i++){
// arr1[i] = "korea";
// console.log(arr1[i]);
// }
// 遍历(重要概念)
// 访问数组中每一个元素,以便浏览所有元素
// 数组中.length 属性可以直接获取数组长度
var arr3 = [1, 2, 5, 8, 9, 1, 2, 5, 8, 91, 2, 5, 8, 91, 2, 5, 8, 91, 2, 5, 8, 91, 2, 5, 8, 91, 2, 5, 8, 91, 2, 5, 8, 9];
// alert(arr3.length);
for (i = 0; i < arr3.length; i++) {
// console.log(arr3[i]);
}
// 练习:自己创建一个数组,数组中是你前后左右的同学的名字
// var arr4 = ["hank", "tom", "jonney", "ran"];
// for (i = 0; i < arr4.length; i++){
// console.log(arr4[i]);
// }
// 问题:这么写也没错
var arr5 = [1, 2, 3];
// alert(arr5.length);
arr5[3] = "korea";
// alert(arr5[3]);
// alert(arr5.length);
// Math 数学对象
// 求最小值
var a = 3;
var b = 5;
var c = 1;
// Math.min() 求最小值的函数
// 在ECMAScript v3之前这里面才只能写俩值,之后才能写多个,,但是不能写数组名
// 如果参加比较的出现了 字符串类型的数字 进行隐式类型转换
var min = Math.min(a, b, c, 10, -10, "-100");
// alert(min); // Math.max() 求最大值的函数
var max = Math.max("100", a, b, c);
// alert(max);
// 对浮点数的处理
// Math.ceil() 向上取整 返回值一定是一个整数
var he = Math.ceil(5.1);
// alert(he);------> 6
// Math.floor() 向下取整
// alert(Math.floor(5.9));
// Math.round() 四舍五入
// alert(Math.round(4.5));
// 数组对象方法
arr = [1, 2, 3, 4];
// .push(); 从尾部给数组添加元素
arr.push("korea");
// .unshift(); 从头部给数组添加元素
arr.unshift("hello");
// .shift(); 从头部删除元素
arr.shift();
// .pop(); 从尾部删除元素
arr.pop();
// .splice(); 删除某一范围内的元素
// arr.splice(起点位置,长度);
// arr.splice(1, 2);
// .splice(); 插入元素
// arr.splice(1, 0, "hello", "world");
// alert(arr);
// var arr = [1, 2, 3, 4];
// var hehe = arr;
// hehe.splice(1, 0, "hello", "world");
// alert(hehe);
// sort(); 排序
// 直接把元素转化为字符串,通过ASCII码进行排序
// sort(); 排序,默认是ASCII码排序
arr = [5, 2, 3, 1, 4];
// alert(arr.sort());
// 数组拼接
arr1 = [2, 4, 6];
arr2 = [1, 3, 5];
arr3 = [7, 9, 8];
// .concat();
// .concat(); 数组拼接不会改变原始数组,而是返回一个拼接好的新数组
arr = arr1.concat(arr2, arr3);
// alert(arr);
// 元素连接符
arr = ["日韩", "欧美", "日韩", "日韩"];
// 需要返回值接受
var str = arr.join("$");
alert(str);
// 二维数组
// arr = Array(1, 2, 3);
arr = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9));
console.log(arr);
// arr[1][1];---取5
console.log(arr[1][1]);
// 练习:遍历打印二维数组中所有元素
arr[1][1] = "jp";
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
alert(arr[i][j]);
}
}
</script>
</body>
</html>