在MDN中可以找到这些对象的所有方法
1.Math对象
/**
* 实例对象:通过构造函数创建出来,实例化的对象
* 静态对象;不需要创建,直接就是一个对象
*/
//Math.max();
//自己定义一个对象,实现系统的max方法
function Mymath(){//构造函数
//添加一个方法
this.getMax=function (){
var max=arguments[0];
for(var i=0;i<arguments.length;i++){
if(max<arguments[i]){
max=arguments[i];
}
}
return max;
};
}
var mymath=new Mymath();//对象实例化
var result=mymath.getMax(20,30,1,4,5,23,56,100);
console.log(result);
//Math.random();随机产生16进制颜色值,封装成一个函数值
function getColor(){
var str="#";
//一个十六进制的值的数组
var arr=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
for(var i=0;i<6;i++){
//产生的每个随机数都是一个索引,根据索引找到数组中对应的值,拼接到一起
var num=parseInt(Math.random()*16);
str+=arr[num];
}
return str;
}
window.function (){
document.getElementById("dv").style.backgroundColor=getColor();
};
console.log(getColor());
2.Date对象
//Date对象
// var date=new Date();
// console.log(date);//当前的时间-----当前服务器
var date=new Date("2019-08-12");//"2019/08/12"也可以
console.log(date);//传入的时间
var dt=new Date();
console.log(dt.getFullYear());//获取年份
console.log(dt.getMonth()+1);//获取月份,从0开始
console.log(dt.getDate());//获取日期
console.log(dt.getHours());//获取小时
console.log(dt.getMinutes());//获取分钟
console.log(dt.getSeconds());//获取秒
console.log(dt.getDay());//获取星期
var dt1=new Date();
console.log(dt1.toString());//转化成字符串
console.log(dt1.toDateString());//英文格式--日期
console.log(dt1.toLocaleDateString());//数字格式--日期
console.log(dt1.toTimeString());//英文格式--时分秒
console.log(dt1.toLocaleTimeString());//数字格式--时分秒
console.log(dt1.valueOf());//毫秒数
var dt2=+new Date();//一种特殊的写法,只适用于Date这个对象
console.log(dt2);//毫秒
3.String对象
//String 对象
var str="hello";//字符串可以看成是一个字符数组
for(var i=0;i<str.length;i++){
console.log(str[i]);
}
//字符串特性:不可变性,字符串的值是不能改变
var str1="hello";
str1[1]="w";
console.log(str1);
var str2="你好";
str2="不好";//重新赋值----改变的是地址
console.log(str2);
/**
* 字符串的常用属性:
* .length-----字符串长度
* .charAt(索引)-----返回指定字符
* String.fromCharCode(数字值--可以是多个参数)-----ASCII码
* .concat(字符串1,字符串2,....)----合并字符串
* .indexOf(要找的字符串,从某个位置开始的索引)-----第一次出现的指定值的索引
* .lastIndexOf(要找的字符串)-----最后一次出现的指定值的索引
* .replace(原来的字符串,新的字符串)-------替换字符串
* .slice(开始的索引,结束的索引)------提取新的字符串并返回
* .split(要干掉的字符串,切割后留下的个数)------切割字符串,返回数组
* .substr(开始的位置,所截取的长度)------返回的是截取后的字符串
* .substring(开始的索引,结束的索引)------返回的是截取后的字符串,不包含结束的字符
* .toLowerCase()/.toLocaleLowerCase()-----转换为小写
* .toLocaleUpperCase()/.toUpperCase()-----转大写
* .trim()------去掉字符串中两端的空格
*/
// var str3="12345";
// console.log(str3.length);
// console.log(str3.charAt(2));
// console.log(String.fromCharCode(83,79,83));
// console.log(str3.concat(str));
// console.log(str3.indexOf("3",1));
// var str4="rhello world";
// console.log(str4.lastIndexOf("r"));
// if(str4.indexOf("rhello")!=-1){
// str4=str4.replace("rhello","你好");
// }else{
// console.log("不存在");
// }
// console.log(str4);
//console.log(str4.slice(1,4));//从索引1开始提取到索引4结束,不包括4-----输出:hel
// str4="T|F|B|O|Y|S";
// var arr=str4.split("|",4);
// for(var j=0;j<arr.length;j++){
// console.log(arr[j]);
// }
// console.log(str4.substr(4,4));
// console.log(str4.substring(4,9));
// var str5="HELLO";
// console.log(str5.toLocaleLowerCase());//hello
// console.log(str5.toLowerCase());//hello
// var str6="hello";
// console.log(str6.toLocaleUpperCase());//HELLO
// console.log(str6.toUpperCase());//HELLO
// var str7=" O, hjhhhgg ";
// console.log("====="+str7.trim()+"=====");
//案例:截取指定字符
// var s="helloworld";//截取wo
// var key=prompt("请输入要截取的内容:");
// var ind=s.indexOf(key);
// console.log(s.substr(ind,2));
//案例:找到字符串中所有o出现的位置
var s1="hello wod odd ott fbo nbyo";
var index=0;//开始的位置
var key="o";//要找的字符串
while((index=s1.indexOf(key,index))!=-1){
console.log(index);
index+=key.length;
}
//案例:找到这个字符串中每个字符出现的次数
var s2="whatOareYyouYnoYshaHleiHoHmyHgod";
//第一步:把所有字母变成小写
s2=s2.toLocaleLowerCase();
//第二步:创建一个空对象,目的:把字母作为键,次数作为值
var obj={};
//第三步:遍历字符串获取每一个字母
for(var l=0;l<s2.length;l++){
var key1=s2[l];
if(obj[key1]){//判断对象中有没有这个字母
obj[key1]++;
}else{//没有,就把这个字母加到对象中,并将次数设为1
obj[key1]=1;
}
}
//遍历输出对象
for(var key2 in obj){
console.log("字母"+key2+"出现的次数为"+obj[key2]);
}
4.Array对象
//Array对象
/**
* Array.isArray(对象)-----------判断对象是不是Array类型
* .concat()------拼接数组
* .every(function (元素的值,索引,原来的数组(没用))---返回布尔类型)-------如果数组中的每一个元素都满足这个函数,返回true
* .filter(函数)-----返回满足函数的元素组成的新数组
* .push(值)------把值追加在数组中----返回值是新数组的长度
* .pop()-----删除数组中最后一个元素---返回值是删除的值
* .shift()-----删除数组中第一个元素---返回值是删除的值
* .unshift()----向数组的第一个元素前面插入新元素-----返回值是新数组的长度
* .forEach(函数)----遍历数组中的元素
* .indexof()-----找某个特定值的索引
* .join("字符串")--------将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串------返回的是一个字符串
* .map(函数)-------数组中的每个元素都要执行这个函数,返回新数组
* .reverse()------反转数组
* .sort((function (a,b){
if(a>b){
return 1;
}else if(a==b){
return 0;
}else{
return -1;
}
})------(不稳定)排序
* .slice(开始索引值,结束索引值);------截取对应数组,包括头不包括尾
* .splice(索引位置,删除个数,插入的元素)--------删除数组中的元素,或替换元素,或添加元素
* /
/**
* 判断变量是不是数组类型
* 1 instanceof
* 2 .isArray
*/
var obj=[];
console.log(obj instanceof Array);
console.log(Array.isArray(obj));
//.from();
var arr=["a","b","c","d"];
var newarr=Array.from(arr);
console.log(newarr);
//.concat();
var arr1=[10,20];
var arr2=[30,40];
console.log(arr1.concat(arr2));//[10,20,30,40]
//.every();
var arr3=[1000,2000,3000];
var flag=arr.every(function (a,b){
return a>2000;
});
console.log(flag);//false
//.filter();
var arr4=[10,20,30,40,50,60,70];
var newarr4=arr4.filter(function (ele){
return ele>40;
});
console.log(newarr4);
//案例:去掉数组中重复的0
var arr5=[1,2,3,0,6,7,0,4,7,0,4,5,0];
var newarr5=arr5.filter(function (ele){
return ele!=0;
});
console.log(newarr5);
// arr4.push(100);//追加
// console.log(arr4);
// console.log(arr4.push(100));
// arr4.pop();
// console.log(arr4.pop());
// console.log(arr4);
// arr4.shift();
// console.log(arr4.shift());
// console.log(arr4);
// arr4.unshift(0);
// console.log(arr4.unshift());
// console.log(arr4);
// arr4.forEach(function (ele,index,arr){
// console.log(ele+"-----"+index);
// });
console.log(arr4.indexOf(30));
console.log(arr4.join("|"));
var num=[1,0,3,2,4,9];
// var roots=num.map(Math.sqrt);//开方
// console.log(roots);
// console.log(num.reverse());//反转
// console.log(num.sort(function (a,b){
// if(a>b){
// return 1;
// }else if(a==b){
// return 0;
// }else{
// return -1;
// }
// }));
// console.log(num.slice(1,5));//截取数组
// num.splice(2,0,6);//在索引2的位置添加6,不删除任何元素
// console.log(num);
num.splice(2,2,6);//删除索引2,3的元素,在索引2的位置添加6
console.log(num);