1.什么是对象
JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
var objectName =new Array();//使用new关键字定义对象
2.Date日期对象
定义一个时间对象 : var Udate=new Date();
注意:使用关键字new,Date()的首字母必须大写。
2.0 时间戳转日期格式
时间戳1600758884 转为如下格式 2020-9-22 15:14:44
formattedDate(date, type) {
let result = "";
let data = new Date(Number(date) * 1000);
//type=1:只有日期没有时间 其他:有日期和具体的时分秒
if (type === 1) {
result +=
data.getFullYear() + "-" + (data.getMonth() + 1) + "-" + data.getDate();
} else {
result +=
data.getFullYear() +
"-" +
(data.getMonth() + 1) +
"-" +
data.getDate() +
" " +
data.getHours() +
":" +
data.getMinutes() +
":" +
data.getSeconds();
}
return result;
},
2.1 getDay() 返回星期
getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成
<script type="text/javascript">
var mydate=new Date();
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write("今天是:" + weekday[mydate.getDay()]);
</script>
输出:今天是:星期三
2.2 get/setTime() 返回/设置时间
get/setTime() 返回/设置时间,单位毫秒数。
使用getTime()和setTime()方法,将时间推后2小时。
<script type="text/javascript">
var mydate=new Date();
document.write("当前时间:"+mydate+"<br>");
mydate.setTime( mydate.getTime() + 2* 60 * 60 * 1000);
document.write("推迟二小时时间:" + mydate);
</script>
3.String 字符串对象
3.1 charAt() 方法可返回指定位置的字符
1.返回的字符是长度为 1 的字符串
2.如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串。
stringObject.charAt(index)
例子:返回字符串最后一个字符
var mystr="I love JavaScript!"
document.write(mystr.charAt(mystr.length-1));//输出!
3.2 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
语法
stringObject.indexOf(substring, startpos)
参数说明:
3.3 split() 方法将字符串分割为字符串数组,并返回此数组
语法:
stringObject.split(separator,limit)
参数说明:
var mystr = "www.imooc.com";
document.write(mystr.split(".")+"<br>");
document.write(mystr.split("", 5));
运行结果:
www,imooc,com
w,w,w,.,i
3.4 substring()提取字符串
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法:
stringObject.substring(startPos,stopPos)
参数说明:
var mystr="Hello World!"
document.write(mystr.substring(6)+ "<br />");
document.write(mystr.substring(0,5));
输出:World!
Hello
3.5 substr()提取指定数目的字符
substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。
语法:stringObject.substr(startPos,length)
参数说明:
4.Math对象
math对象的属性
math对象的方法
4.1 Math.ceil()向上取整
ceil() 方法可对一个数进行向上取整。
document.write(Math.ceil(3.3) + "<br />")
document.write(Math.ceil(-0.1) + "<br />")
document.write(Math.ceil(-9.9) + "<br />")
document.write(Math.ceil(-8.9))
输出:
4
0
-9
-8
4.2 Math.floor()向下取整
floor() 方法可对一个数进行向下取整。
语法:
Math.floor(x)
document.write(Math.floor(3.3)+ "<br>")
document.write(Math.floor(-0.1)+ "<br>")
document.write(Math.floor(-9.9)+ "<br>")
document.write(Math.floor(-8.9))
输出:
3
-1
-10
-9
4.3 Math.round()四舍五入
round() 方法可把一个数字四舍五入为最接近的整数。
语法: Math.round(x)
document.write(Math.round(3.3)+ "<br>");
document.write(Math.round(-0.1)+ "<br>");
document.write(Math.round(-9.9)+ "<br>");
document.write(Math.round(-8.9));
输出:
3
0
-10
-9
4.4 Math.random()随机数
random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。
例子:使用random ()方法和round(),计算不大于10的整数。
document.write(Math.round(Math.random()*10));
5.Array数组对象
数组方法:
5.1 concat()数组连接
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。
语法
arrayObject.concat(array1,array2,...,arrayN)
参数说明:
实例:
var myarr1= new Array("010")
var myarr2= new Array("-","84697581");
document.write(myarr1.concat(myarr2));
输出:010,-,84697581
5.2 join()指定分隔符连接数组元素,数组转为字符串
join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
语法:
arrayObject.join(分隔符)
<script type="text/javascript">
var myarr = new Array(3)
myarr[0] = "I";
myarr[1] = "love";
myarr[2] = "JavaScript";
document.write(myarr.join("."));
</script>
运行结果:
I.love.JavaScript
5.2 reverse() 颠倒数组中元素的顺序
语法:
arrayObject.reverse()
注意:该方法会改变原来的数组,而不会创建新的数组。
定义数组myarr并赋值,然后颠倒其元素的顺序:
<script type="text/javascript">
var myarr = new Array(3)
myarr[0] = "1"
myarr[1] = "2"
myarr[2] = "3"
document.write(myarr + "<br />")
document.write(myarr.reverse()
)
</script>
运行结果:
1,2,3
3,2,1
5.3 slice() 方法可从已有的数组中返回选定的元素。
语法
arrayObject.slice(start,end)
参数说明:
var myarr1= ["我","爱","你"];
document.write(myarr1.slice(1));
输出:爱,你
5.4 splice()
1、删除数组项
语法:arrayObject.splice(index,count)
说明:count是要删除的项目数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值
功能:删除从index处开始的零个或多个元素
返回值:含有被删除的元素的数组
2、插入数组项
语法:arrayObject.splice(index,0,item1,....,itemX)
功能:在指定位置插入值
参数:index:起始位置 0:要删除的项数 item1,....,itemX:要插入的项
返回值:数组
var arr =["a","b","c","d"];
var insertArr = arr.splice(3,0,"m");
console.log(insertArr);
//输出["a","b","c","m","d"]
3、替换数组项
语法:arrayObject.splice(index,count,item1,.....itemX)
功能:在指定位置插入值,且同时删除任意数量的项
参数:index:起始位置 count:要删除的项数 item1,.....itemX:要插入的项
返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)
var arr =["a","b","c","d"];
var replaceArr = arr.splice(1,2,"x","y")
console.log(replaceArr)
//输出["b","c"]
5.5 sort()数组排序
语法:
arrayObject.sort(方法函数)
参数说明:
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
myArray.sort(sortMethod);
例子:
function sortNum(a,b) {
return a - b;
}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
输出:1,6,16,50,80,100
5.6 indexOf()
indexOf()
语法:arrayObject.indexOf(searchvalue,startIndex)
功能:从数组的开头(位置0)开始向后查找
参数:searchvalue:必需,要查找的项
startIndex:可选,起点位置的索引
返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1
5.7 lastIndexOf()
语法:arrayObject.lastIndexOf(searchvalue,startIndex)
功能:从数组的末尾开始向前查找
参数:searchvalue:必需,要查找的项 startIndex:可选,起点位置的索引
返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1
说明:1)在比较第一个参数与数组中的每一项时,会使用全等操作符,即要求查找的项必须严格相等
2)数组的位置方法是ECMAScript5为数组实例新增的,所以支持的浏览器有:IE9+、Firefox、Safari、Opera和Chrome