本文主要和大家分享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 '<b>'+item+'</b>'; });console.log(arr2); //["<b>1</b>", "<b>2</b>", "<b>3</b>", "<b>4</b>"]
6 . filter过滤符合条件的元素
var arr = [1,2,3];var arr2 = arr.filter(function(item,index){ //通过一个条件过滤数组 if(item>=2){ return true; } }); console.log(arr2); //2,3
对象API
var 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]); } }
以上是JS日期、Math、数组以及对象简要分析的详细内容。更多信息请关注PHP中文网其他相关文章!