javaScript提供了多个内置对象:Math、Date、Array、String等,下面我们来说一说他们的用法。
//Math数学对象 直接使用属性和方法
//最大最小值使用方法一样(Math.min),这里说下最大值:
console.log(Math.PI);//圆周率
console.log(Math.max(1,99,202));//202
console.log(Math.max(-1,-10));//-1
console.log(Math.max(1,9,'我不是数字哈哈'));//有非数字的返回NaN、
console.log(Math.max());//什么都没有返回负无穷-Infinity
//Math绝对值
console.log(Math.abs(-88));//取绝对值
console.log(Math.abs('-1'));//隐式转换,字符串的-1转换为数字
//三个取整方法
console.log(Math.floor(6.9));//6 向下取整 往最小的取值
console.log(Math.ceil(1.1));//2 向上取整 往最大的取值
console.log(Math.round(2.5));//3 四舍五入
//随机数方法Math.random()
//不跟参数
console.log(Math.random());//返回一个随机的小数 0<=x<1
//如果取两个数之间的随机整数,并且包含这2个整数的范围。
function getRandom(min,max){
return Math.floor(Math.random()*(max-min-1))+min;
}
console.log(getRandom(1,10));
例题: 猜数字小游戏
//学会运用随机数
function getRandom(min,max){
return Math.floor(Math.random()*(max-min-1))+min;
}
var random=getRandom(1,50);
var cout=0;
do{
var num=prompt('输入你猜的数1-50:');
cout++;
if(random==num){
alert('猜对了');
break;
}
if(random>num){
alert('猜小了');
}
if(random
}
if(cout==8){
alert('八次机会都没猜对,你不适合买彩票');
break;
}
}while(true);
//日期对象 Date是一个构造函数 必须new 不new不能用
var data=new Date();//创建一个日期对象
console.log(data);//如果没有参数 返回当前时间
//格式化日期 年月日 周
var date3=new Date();
console.log(date3.getFullYear());//返回当前的年 2022
console.log(date3.getMonth()+1);//返回的月份小一个月(0-11月) 所以月份+1才是当前月份
console.log(date3.getDate());//返回当前的为几号
console.log(date3.getDay());//返回周几 周一到周六(1-6) 周日返回0
//获取时分秒
var date4=new Date();
console.log(date4.getHours());//获取当前小时
console.log(date4.getMinutes());//获取当前分数
console.log(date4.getSeconds());//获取当前秒数
//总的毫秒数(时间戳) 1970年1月1号开始计算 距离这个时间到现在过了多少毫秒
//1.通过valueOf() getTime()
var date5 =new Date();
console.log(date5.valueOf());//现在时间到1970.1.1总毫秒数
console.log(date5.getTime());
//2.简单写法
var date6=+new Date();//+new 就是返回总的毫秒数
console.log(date6);
//3.H5新增的 获得总的毫秒数
console.log(Date.now());
//例题 倒计时(用时间戳)
function countDown(time){
var inputTime=+new Date(time);//用户输入的时间转换成时间戳
var nowTime=+new Date();//当前时间转换成时间戳
var times=(inputTime-nowTime)/1000;//剩余的时间转换成秒
var day=parseInt(times/60/60/24);//得到天数
day=day<10? '0'+day:day;//三元运算符判断
var h=parseInt(times/60/60%24);//得到小时
h=h<10? '0'+h:h;
var m=parseInt(times/60%60);//得到分
m=m<10? '0'+m:m;
var s=parseInt(times%60);//得到秒
s=s<10? '0'+s:s;
return '剩余完成时间:'+day+'天'+h+'时'+m+'分'+s+'秒';
}
console.log(countDown('2022-4-25 00:00:00'));
//检测是否为数组2种方式
//1.instanceof 运算符 用来检测是否为数组
var arr2=[];
var obj={};
console.log(arr2 instanceof Array);//格式 返回true
console.log(obj instanceof Array);//格式 返回false
//2.Array.isArray(参数)
console.log(Array.isArray(arr2));//返回 true
console.log(Array.isArray(obj));//返回 false
//添加数组2种方法
//1.push() 在数组末尾添加一个或者多个数组元素
var arr3=[1,2,3];
//arr3.push(4,'pink老师');//添加二个元素
console.log(arr3.push(4,'pink老师'));//返回数组长度
console.log(arr3);
//(1).可以给数组后面添加数组元素 (2).参数直接写数组元素就可以 (3).push完毕后返回新数组长度 (4).原数组也会更新
//2.unshift 在数组开头添加一个或者多个数组元素
// arr3.unshift('red','purple');
console.log(arr3.unshift('red','purple'));//也是返回数组长度
console.log(arr3);
//(1).可以给数组前面添加数组元素 (2).参数直接写数组元素就可以 (3).unshift完毕后返回新数组长度 (4).原数组也会更新
//删除元素2种方法
//1.pop() 删除数组的最后一个元素
// arr3.pop();
console.log(arr3.pop());//返回删除元素
console.log(arr3);
//(1).pop可以删除数组最后一个元素 (2).pop没有参数 (3).pop完毕后返回被删除的元素 (4).原数组也会更新
//2.shift() 删除数组的第一个元素
// arr3.shift();
console.log(arr3.shift());//返回删除元素
console.log(arr3);
//(1).shift可以删除数组第一个元素 (2).shift没有参数 (3).shift完毕后返回被删除的元素 (4).原数组也会更新
//获取数组元素索引的2种方法
// 1.indexOf() 从前往后查找 一般用这个
var arr7=['pink','red','blue','red'];
console.log(arr7.indexOf('red'));//返回1,red对应的数组下标 只返回第一个满足条件的索引号
console.log(arr7.indexOf('green'));//数组中没有该元素则返回-1
//2.lastindexOf() 从后往前查找
console.log(arr7.lastIndexOf('red'));//返回3 从后往前查找
console.log(arr7.lastIndexOf('green'));//数组中没有该元素则返回-1
//例题 数组去重unique独一无二的
function unique(arr8){
var newArr8=[];
for(var i2=0;i2
newArr8.push(arr8[i2]);//添加到新数组
}
}
return newArr8;
}
var arr8=['c','a','z','a','x','a','x','c','b'];
console.log(unique(arr8));//cazxb
//根据字符返回位置 str.indexOf('要查找的字符',[可选 起始的位置])
var str3='改革春风吹满地,春天来了';
console.log(str3.indexOf('春'));//2
console.log(str3.indexOf('春',3));//8 从索引号3的位置往后查找
//根据位置返回字符
//1.charAt(index)根据位置返回字符
var str5='andy';
console.log(str5.charAt(3));//返回y
//2.charCodeAt()返回字符对应的ASCII码 目的:判断用户按的那个键
console.log(str.charCodeAt(0));//97
//3.str[index] H5新增的
console.log(str5[2]);//d
//字符串的操作方法
//1.concat()
var str7='andy';
console.log(str7.concat('red'));//相当于+拼接字符串
//substr(开始,取几个)
var str8='改革春风吹满地';
console.log(str8.substr(2,3));//春风吹
//1.替换字符 replace('被替换的字符','替换为的字符')
var str10='andy';
console.log(str10.replace('a','b'));//bndy 只会替换第一个字符
//2.字符转换为数组 split('分隔符') join把数组转换为字符串
var str12='red,pink,blue';
console.log(str12.split(','));//遇到逗号隔开一个
var str13='red&pink&blue';
console.log(str13.split('&'));
//转换字符串的大小写 toUpperCase()转为大写 toLowerCase()转为小写
var str14='abABC';
console.log(str14.toUpperCase());//ABABC
console.log(str14.toLowerCase());//ababc
//例题 统计出现最多的字符和次数
var o1={};
for(var i4=0;i4
if(o1[chars]){
o1[chars]++;
}else{
o1[chars]=1;
}
}
var max1=0;
var ch1='';
for(var key in o1){
if(o1[key]>max){
max1=o1[key];
ch1=key;
}
}
console.log(ch1+' '+max1);
这里只列出Math、Date、Array、String的内置对象,没有必要把每种方法都记住,我们只要记得有这个自带的功能就好了。还是以查文档为基础,当然啦,要是能记住那是最好的,在用到时可以节省不少的时间。