Array:用于在单独的变量名中存储一系列的值
String:用于支持对字符串的处理
Math:用于执行常用的数学任务,包含若干个数字常量和函数
Date:用于操作日期和时间
创建数组
new Array(); // 创建一个空数组
new Array(size); // 创建的时候给个大小
new Array(element0, element1, …, elementN); // 创建的时候指定元素,赋值
为数组元素赋值
<script>
// 方法一
var shuzu1 = new Array("apple","orange","peach","banana");
// 方法二
var shuzu2 = ["apple","orange","peach","banana"];
// 方法三
var shuzu3 = new Array(4);
shuzu3[0] = "apple";
shuzu3[1] = "orange";
shuzu3[2] = "peach";
shuzu3[3] = "banana";
</script>
访问数组
数组名[下标]
console.log(shuzu3[2]);
类别 | 名称 | 描述 |
---|---|---|
属性 | length | 设置或返回数组中元素的数目 |
方法 | join() | 把数组的所有元素放入一个字符串,通过逗号或指定的分隔符进行分隔 |
方法 | sort() | 对数组排序 |
方法 | push() | 向数组末尾添加一个或更多元素,并返回新的长度 |
方法 | forEach() | 遍历数组,forEach()方法不会直接修改原始数组,但是回调函数可能会修改 |
forEach()方法
array.forEach(callback[, thisArg]);
callback参数:为数组中的每个元素执行的函数
callback(currentValue[, index[, array]])
currentValue:数组中正在处理的当前元素
index:可选,数组中正在处理的当前元素的索引
array:可选,forEach()方法正在操作的数组
thisArg参数:可选,callback函数中的this可以引用的对象
示例:
<script>
var arr1 = ["apple","orange","peach"];
console.log(arr1.length);
arr1.push("banana"); // 在末尾追加一个数组元素
console.log(arr1.length); // 重新打印了数组长度,发现长度改变。说明数组是可变的
var arrStr = arr1.join("|"); // 把数组中的元素,通过指定的字符串连接成一个字符串返回
console.log(arrStr);
var arr2 = [4,2,3,1]
console.log(arr2.sort()); // 默认升序排序
// 注意,再循环中,注意数组长度的变化
arr1.forEach(function(val,index){
console.log(val,index);
})
</script>
var list = [1, 2, 3]; // 创建数组并赋值。
console.log(list.indexOf(1));// 返回1这个元素在数组中第一次出现的下标,如果没有返回-1
list[1] = 22; // 修改指定下标的值
list.push(4,5);// 向数组末尾追加元素,元素数量不定。返回新的长度
list.unshift(-1,0) // 向数组头部添加元素,元素数量不定。返回新的长度
list.pop(); // 删除最后一位元素,返回被删除的元素
list.shift(); // 删除第一位元素,返回被删除的元素
list.splice(1); // 从指定下标开始删除,删到最后。返回删除的元素数组
list.splice(1,2); // 删除从下标1开始,长度为2的元素。返回删除的元素数组
list.splice(1,1,33,44); // 删除从下标1开始,长度为1的元素,并在删除的位置上添加两个元素,添加的元素个数不定
var str = list.join(''); // 把数组按照指定的间隔符,拼成一个字符串
var list3 = [11,22,33];
var newlist = list.concat(list3); // 合并数组,注意合并数组返回的是新的数组对象,对原对象不做修改
// console.log(list2)
// console.log(str);
console.log(list);
用于处理日期和时间
使用自UTC(Coordinated Universal Time,国际协调时间)1970年1月1日0时开始经过的毫秒数来保存日期
创建Date对象
语法
new Date() // 不带参数 当前日期
new Date(dateString) // 带参数,指定日期
示例
<script>
var today = new Date();
var sdate = new Date("July 15,2020,10:07:42");
console.log(today); // 返回当前日期和时间
console.log(sdate); // 返回指定日期和时间
</script>
方 法 | 说 明 |
---|---|
getDate() | 返回 Date 对象的一个月中的每一天,其值介于1~31之间 |
getDay() | 返回 Date 对象的星期中的每一天,其值介于0~6之间 |
getHours() | 返回 Date 对象的小时数,其值介于0~23之间 |
getMinutes() | 返回 Date 对象的分钟数,其值介于0~59之间 |
getSeconds() | 返回 Date 对象的秒数,其值介于0~59之间 |
getMonth() | 返回 Date 对象的月份,其值介于0~11之间 |
getFullYear() | 返回 Date 对象的年份,其值为4位数 |
getTime() | 返回自某一时刻(1970年1月1日)以来的毫秒数 |
<script>
var mydate = new Date();
console.log("年:",mydate.getFullYear());
console.log("月:",mydate.getMonth()+1); // 需要自己+1
console.log("日:",mydate.getDate());
console.log("时:",mydate.getHours());
console.log("分:",mydate.getMinutes());
console.log("秒:",mydate.getSeconds());
console.log("周:",mydate.getDay()); // 周日是0
console.log("时间戳:",mydate.getTime());
</script>
<body>
<div id="datediv"></div>
<div>
<input type="button" value="开始" onclick="startLock()">
<input type="button" id="zanting" value="暂停">
</div>
</body>
<script>
var interIndex;
function startLock(){
interIndex = setInterval("showDate()",1000)
}
document.getElementById("zanting").addEventListener('click',function(){
clearInterval(interIndex)
})
function showDate(){
var mydate = new Date();
var year = mydate.getFullYear()
var month = mydate.getMonth()+1
var day = mydate.getDate()
var hour = mydate.getHours()
var minute = mydate.getMinutes()
var second = mydate.getSeconds()
document.getElementById("datediv").innerHTML=year+"年" +month+"月" +day+"日"+hour+":"+minute+":"+second
}
</script>
js示例
提供与数学相关的功能
常用方法
方法 | 说 明 | 示例 |
---|---|---|
ceil() | 对参数进行上舍入 | Math.ceil(25.5);返回26 ---- Math.ceil(-25.5);返回-25 |
floor() | 对参数进行下舍入 | Math.floor(25.5);返回25 ---- Math.floor(-25.5);返回-26 |
round() | 把参数四舍五入为最接近的数 | Math.round(25.5);返回26 ---- Math.round(-25.5);返回-26 |
random() | 返回0~1之间的随机数 | Math.random(); ---- 例如:0.6273608814137365 |
方法 | forEach() | 遍历数组,forEach()方法不会直接修改原始数组,但是回调函数可能会修改 |