本文主要和大家分享JS日期、Math、数组以及对象简要分析,希望能帮助到大家。
相关题目获取2017-06-10格式的日期function formatDate(dt){ if(!dt){
dt = new Date();
} var year = dt.getFullYear();var month = dt.getMonth()+1;var date = dt.getDate();if(month<10){ //强制类型转换
month = '0'+month;
}if(date<10){ date = '0'+date;
}return year + '-'+month+'-'+date;
}var dt = new Date();var formatDate = formatDate(dt);
console.log(format);获取随机数,要求是长度一致的字符串格式(随机数在前端开发中的作用)var random =Math.random();random= random + '0000000000';//保证下一句不会报错random = random.slice(0,9);
console.log(random);写一个能遍历对象和数组的通用的forEach函数(jquery中有)//想想对象中的forEach与数组中的for in怎么用比较好//这里是forEach函数function forEach(obj,fn){
var key; if(obj instanceof Array){
obj.forEach(function(item,index){
fn(index.item);
})
}else{ for(key in obj){
fn(key.obj[key]);
}
}
}//调用var arr = [1,2,3];forEach(arr,function(index,item)){
console.log(index.item);
}var obj = {x:100,y:200};forEach(obj,function(key,value){
console.log(key,value);
})
知识点日期Date.nowTime(); //获取当前时间毫秒数(这个数是从1970开始算起到现在走了多少毫秒数)var myDate = new Date(); //new一个时间对象myDate.getTime(); //获取毫秒数myDate.getFullYear(); //年(4位数),还有一种getYear()的方法,有兼容性的问题,与getFullYear()相差1900myDate.getMonth(); //月(0-11),实际应用是应该注意它的返回值myDate.getDate();//日(1-31)myDate.getDay();//星期(0-6),实际应用是应该注意它的返回值myDate.getHours();//时(0-23)myDate.getMinutes();//分(0-59)myDate.getSeconds();//秒(0-59)Math
1 . 获取随机数Math.random();
会返回一个大于0小于1的一个小数,eg:0.14249200181060218,一般常用于清除缓存,比如:页面打开时,由于缓存的存在,刚刚更新的数据有时无法在页面得到刷新,因为如果请求的地址是相同的,浏览器就不会去连接服务器。这时候可以用随机数来处理,相当于加载新的页面。在URL 参数后加上 "?r=" + Math.random();//加随机数在 URL 参数后加上 "?timestamp=" + new Date().getTime(); //也可以加时间戳
2 . 更多方法及随机数的扩展见我之前的博客;数组API
1 . forEach遍历所有元素var arr = [1,2,3];
arr.forEach(function(item,index){//item为元素的值eg:1,2,3,index位为元素的位置,从0开始的
//遍历数组中所有元素
console.log(index,item); //注意参数顺序});
2 . every判断所有元素是否都符合条件var arr = [1,2,3];var result = arr.every(funciton(item,index){// 用来判断所有的数组元素,都满足一个条件
if(item < 4){ return ture;
}
});
console.log(result);//true
3 . some判断是否有至少一个元素符合条件var arr = [1,2,3];var result = arr.every(funciton(item,index){// 用来判断所有的数组元素,都满足一个条件
if(item < 2){ return ture;
}
});
console.log(result);//true
4 . sort排序(从小向大排序)var arr = [1,4,3,2,5];var arr2 = arr.sort(function(a,b){
//从小到大
return a-b; //从大到小
//return b-a;});
console.log(arr2);//[1,2,3,4,5]
5 . map对元素重新组装,生成新数组(把元素按照一种规则组装成另外一种元素,生成一种新的数组)var arr = [1,2,3,4];var arr2 = arr.map(function(item,index){ //将元素重新组装并返回 return ''+item+'';
});console.log(arr2); //["1", "2", "3", "4"]
6 . filter过滤符合条件的元素var arr = [1,2,3];var arr2 = arr.filter(function(item,index){
//通过一个条件过滤数组
if(item>=2){ return true;
}
});
console.log(arr2); //2,3对象APIvar obj ={x:100,y:200,z:300};var key;for(key in obj){//key这里取得是obj的属性名
if(obj.hasOwnProperty(key)){//判断他是这个obj的属性而不是原型的属性
console.log(key,obj[key]);
}
}