方法查询MDN
兼容旧环境Polyfill
自定义math案例
function MyMath(){
this.getmax=function(){
var max=arguments[0];
for(var i=0;i<arguments.length;i++){
if(max<arguments[0]){
max=arguments[0];
}
}
return max;
};
}
十六进制颜色随机
var mt=new MyMath();
var result=mt.getmax(10;20;30);
console.log(result);
function getColor(){
var str="#";
var arr=["0","1","2","3","4","5","6","7","8"]
for(var i=0;i<6;i++){
var num=parseInt(math.ramdom()*16);
str+=arr[num];
}
return str
}
console.log(getColor());
日期
var dt=new Date();
console.log(dt);当前时间
var dt=new Date("2017-08-02");
console.log(dt);传入时间
var dt=new Date("2017/08/02");传入时间
console.log(dt);获取时间
var dt=Date.now();
console.log(dt);毫秒
var dt=new Date();
console.log(dt.getFullYear());年
console.log(dt.getMonth());月
console.log(dt.getDate());日
console.log(dt.getHours());小时
console.log(dt.getMinutes());分钟
console.log(dt.getSeconds());秒
console.log(dt.getDay());星期
var dt=new Date();
console.log(dt.toDateString());英文的日期
console.log(dt.toLocalDateString());数字格式日期
console.log(dt.toTimeString());小时分钟秒
console.log(dt.toLocalTimeString());小时分钟秒
console.log(dt.valueOf());毫秒
字符串方法
var str="nongshane";
var result=str.charArt(6);
console.log(result);返回值是指定位置的字符串,超出为空
var result=str.fromCharCode(num1,num2,...);
console.log(result);返回ASCII对应字符串
str=str.concat(字符串1,字符串2,...);返回新的字符串
str=str.indexOf(要找的字符串,从某个位置开始的索引);返回这个字符串索引值,没找到返回-1
str=str.lastIndexOf(要找的字符串);从后往前找,但索引还是从前往后
str=str.replace("原来的字符串","用来替换的字符串");
str=str.slice(索引开始提取,到该索引前一个结束);
var arr=str.split("要去掉的字符串",切割后留下的个数);切割字符串
str=str.substr(开始的位置,个数);返回截取后的新的字符串
str=str.substring(开始的索引,结束的索引);返回截取后的新的字符串,不包含结束的索引
str=str.toLocaleLowerCase(); str=str.toLowerCase();转小写
str=str.toLocaleUpperCase(); str=str.toUpperCase();转大写
str=str.trim();去掉字符串两端的空格
array数组方法
Array.isArray(对象)判断当前对象是不是数组
数组1.concat(数组2)组合新的数组
var arr=[1000,2000,3000];
var flag=arr.every(function(a,b,c){
console.log(a+"==="+b+"==="+c);
return a>2000;
});
console.log(flag);返回false
.every(函数);返回值是布尔,函数作为参数使用,里面有三个值(元素的值,索引的值,谁调用这个方法),如果数组中每个元素值都符合条件,返回是true
var arr=[10,20,30,40,50,60,70,80];
var newArr=arr.filter(function(ele){//ele---每个元素
return ele>40;
});
console.log(newArray);
.filter(函数);返回的是数组中每一个元素都符合条件的元素,组成一个新数组
var arr=[10,20,30,40,50,60,70,80];
arr.push(100);
console.log(arr);
.push(值);把数值加到数组最后,返回值是追加数据之后数组长度
.pop();删除数组中最后一个元素,返回值是删除的值
.shift();删除数组中第一个元素,返回值是删除的值
.unshift();向数组的第一个元素前面插入一个新元素,返回值是追加数据之后数组长度
var arr=[10,20,30,40];
arr.forEach(function(ele,index,array){
console.log(ele+"===="+index);
});
.forEach()遍历数组,相当于for循环
.indexOf(元素值);返回的是索引,没有则是-1
.join("字符串");返回的字符串
.map(函数);数组中每个元素都要执行这个函数,执行完的元素组成新的数组
.reverse();反转数组
.sort();排序数组(不稳定),不稳定的情况下,查找MDN中固定代码
arr.slice(开始的索引,结束的索引);把截取后的的数组的值放在新数组中,不包含结束的索引
.splice(开始的位置,删除的个数,替换的元素的值);用于删除或替换数组中元素
基本包装类型:本身是基本类型,但是在执行代码过程中,变量调用了属性或方法,那么这种类型不再是基本类型,而是基本包装类型,变量变为基本包装类型对象
如果是一个对象&&true,那么结果是true 如果是一个true&&对象,那么结果是对象