内置对象
JavaScript的内置对象:用用户可以直接使用的对象。
内置对象(Math)
Math:包含数学常用属性和数学函数。
1.属性
(1)Math.PI
Math.PI:表示圆周率。
console.log("圆周率:",Math.PI); //结果为 圆周率: 3.141592653589793
2.方法
(1)Math.abs(x)
Math.abs(x):返回x的绝对值
(2)Math.pow(x,y)
Math.pow(x,y):返回x的y次方
(3)Math.sqrt(x)
Math.sqrt(x):返回x的算术平方根
(4)Math.random()
Math.random():返回伪随机数(0.0~1.0之间)
(5)Math.round(x)
Math.round(x):返回x四舍五入后的最接近的整数
(6)Math.floor(x)
Math.floor(x):返回小于或等于x的最大整数。
(7)Math.ceil(x)
Math.ceil(x):函数返回大于或等于x的最小整数
(8)Math.max()
Math.max():返回参数中的最大值
(9)Math.min()
Math.min():返回参数中的最小值
代码如下:
console.log("绝对值:",Math.abs(-15));
console.log(Math.pow(2,3)); //2的三次方为8
console.log(Math.sqrt(2)); //根号2为1.414...
var k = Math.round(Math.random()*10); //获取0~10之间的随机数
console.log("随机数:",k);
var m = 2.78;
console.log("小于或等于x的最大数:",Math.floor(m)); //结果为2
console.log("大于或等于x的最大数:",Math.ceil(m)); //结果为3
console.log(Math.max(12,45,21));
console.log(Math.min(12,45,21));
内置对象(Date)
Date对象:使用new Date()创建对象
(1)构造方法
new Date()
new Date():无参构造,当前的日期时间
new Date(y,M,d,h,m,s)
new Date(y,M,d,h,m,s):带参的构造,参数是年、月、日、时、分、秒
new Date(dateString)
new Date(dateString): 参数是日期字符串
注意:月份的整数值,从 0(1月)到 11(12月)
var d1 = new Date();
console.log(d1); //无参构造,当前的日期时间
var d2 = new Date(2021,11,7,14,16,35); //带参的构造,参数是年、月、日、时、分、秒
console.log(d2);
var d3 = new Date("2022-2-19 12:18:35");
console.log(d3);
2.常用方法
(1)date.getFullYear()
date.getFullYear():获取4位年份
(2)getMonth()
getMonth():获取0~11之间的月份
(3)getDate()
getDate():获取日期(一个月中的第几天)
(4)getDay()
getDay():获取星期几(一周中的第几天)
(5)getHours()
getHours():获取小时数
(6)getMinutes()
getMinutes():获取分钟数
(7)getSeconds()
getSeconds():获取秒钟数
(8)getMilliseconds()
getMilliseconds() :返回指定日期对象的毫秒数
(9)getTime()
getTime():返回1970-1-1 00:00:00到当前时间之间的毫秒数
(10)toDateString()
toDateString():将日期转为字符
代码如下:
var d1 = new Date();
console.log(d1);
var d2 = new Date(2021,11,7,14,16,35); //带参的构造,参数是年、月、日、时、分、秒
console.log(d2);
var d3 = new Date("2022-2-19 12:18:35");
console.log(d3);
console.log("年份:",d1.getFullYear());
console.log("月份:",d1.getMonth()+1); //0~11之间的值(0表示1月,11表示12月)
console.log("日期:",d1.getDate());
console.log("周:",d1.getDay()); //0~6之间(0表示星期天)
console.log("时:",d1.getHours());
console.log("分:",d1.getMinutes());
console.log("秒:",d1.getSeconds());
console.log(d1.getMilliseconds());
console.log(d1.getTime());
console.log(d1.toDateString()); //美式日期显示
内置对象(Array)
1.数组类型检测的方法
(1)instanceof运算符
(2)isArray()方法:Array.isArray([参数])
代码如下:
var arr = []; //arr是一个数组
var obj = {}; //obj是一个对象
console.log(arr instanceof Array); //判断arr是否为数组,结果为true
console.log(obj instanceof Array); //判断obj是否为数组,结果为false
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
2.数组的遍历
//1.基本遍历
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
//2.var...in遍历
for(var k in arr){
console.log(arr[k]);
}
//3.var...of遍历
for(var k of arr){
console.log(k);
}
//4.forEach遍历
arr.forEach(function(t){
console.log(t);
})
3.数组元素的添加和删除
(1)push(参数)
push(参数…):在数组的末尾添加一个或多个元素
var arr = [1,2,33,44,55];
var a1 = [11,99]
arr.push(2005,1024)
console.log(arr);
arr.push(a1);
console.log(arr);
(2)unshift(参数)
unshift(参数…):在数组开头添加一个或多个元素
var arr = [1,2,33,44,55];
arr.unshift(2005);
console.log(arr);
(3)pop( )
pop():删除数组最后一个元素,若数组为空返回undefined
var arr = [1,2,33,44,55];
var k = arr.pop();
console.log(k);
console.log(arr);
(4)shift( )
shift():删除数组的第一个元素,返回数组的第一个元素
var arr = [1,2,33,44,55];
var t = arr.shift();
console.log(t);
console.log(arr);
(5)【案例】剔除数组中大于2000的数
var arr = [1800,2100,6000,3000,1500];
var a = [];
for(var k of arr){
if (k<2000) {
a.push(k);
}
}
console.log(a); //输出结果为[ 1800, 1500 ]
4.数组的排序
(1)sort()
sort():对数组的元素进行排序,该方法会改变原数组,返回新数组
(2)reverse()
reverse():颠倒数组中元素的位置,该方法会改变原数组,返回新数组
var sa = [2800,1500,4500,2100,1100,1800];
sa = sa.sort();
console.log(sa); //输出结果为:[ 1100, 1500, 1800, 2100, 2800, 4500 ]
sa = sa.reverse();
console.log(sa); //输出结果为:[ 4500, 2800, 2100, 1800, 1500, 1100 ]
5.数组的索引
(1)indexof()
indexof():返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1
(2)lastIndexof()
lastIndexof():返回指定元素在数组中的最后一个的索引,如果不存在则返回-1
注意:默认都是从指定数组索引的位置开始检索,并且检索方式与运算符“===”相同,即只有全等时才会返回比较成功的结果。
var sa = [2800,1500,4500,4500];
console.log(sa.indexOf(4500)); //结果为2
console.log(sa.lastIndexOf(4500)); //结果为3
(3)【案例】去除数组中重复元素
var sa = [2800,1500,4500,4500];
var a = []
for(var k of sa){
if (a.indexOf(k)===-1) { //表示k不在数组a中
a.push(k);
}
}
console.log(a);
6.数组转换字符串
(1)toString()
toString():直接转换
(2)join(字符)
join(字符):在转换字符串时,数据之间用给定的字符进行连接
var a = [2800,1500,4500];
console.log(a.toString()); //输出结果为 2800,1500,4500
console.log(a.join("--")); //输出结果为 2800--1500--4500