前端JS基础五(日期、Math、API)

日期 
    Date.now()  //获取当前时间毫秒数 
    var dt=new Date() 
    dt.getTime()   //获取毫秒数 
    dt.getFullYear()   //年
    dt.getMonth()  //月
    (0-31) dt.getHours()   //小时(0-23) 
    dt.getMinutes() //分钟(0-59) 
    dt.getSeconds() //(0-59)

Math 
    Math.random()
    random 在实际中的应用有清除缓存的作用,是每次访问到的都不是缓存

数组API
    forEach 遍历所有元素
      var arr=[1,2,3]
         arr.forEach(function(item,index){
         //遍历数组的所有元素
         console.log(index,item)
      })

     every 判断所有元素是否都符合条件
       var arr=[1,2,3]
       var result=arr.every(function(item,index){
          //用来判断所有的数组元素,都满足一个条件
            if(item<4){
               return true;
            }
        })
       console.log(result);

    some 判断是否至少一个元素符合条件
        var arr=[1,2,3]
        var result=arr.some(function(item,index){
          //用来判断所有的数组元素,只要有一个满足条件即可
            if(item<2){
                return true;
           }
        })
        console.log(result);

    sort 排序
       var arr=[1,4,2,3,5]
       var arr2=arr.sort(function(a,b){
             //从小到大排序
             return a-b
             //从大到小排序
             //return b-a
       })
       console.log(arr2)
    
    map 对元素重新组装,生成新数组
       var arr=[1,2,3,4]
       var arr2=arr.map(function(item,index){
            //将元素重新组装,并返回
            return ''+item+''
       })
       console.log(arr2)
    filter 过滤符合条件的元素
       var arr=[1,2,3]
       var arr2=arr.filter(function(item,index){
           //通过某一个条件过滤数组
           if(item>=2){
              return true;
           }
       })
       console.log(arr2)

对象API
       var obj={
          x:100,
          y:200,
          z:300
       }
       var key
       for(key in obj){
          //注意这里的hasOwnProperty,再讲原型链时讲过了
          if(obj.hasOwnProperty(key)){
              console.log(key,obj[key])
          }

    }

练习题

练习题1、获取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"+month;
          }
          return year+"-"+month+"-"+date
     }
     var dt=new Date()
     var formatDate=formatDate(dt)
     console.log(formatDate)

练习题2、获取随机数,要求是长度一致的字符串格式 
      var random=Math.random()
      var random=random+'0000000000'   //后面加上10个零
      var random=random.slice(0,10)
      console.log(random)

练习题3、写一个能遍历对象和数组的通用forEach函数
       function forEach(obj,fn){
           var key
           //准确判断是不是数据
           if(obj instanceof Array){
                  obj.forEach(function(item,inex){
                         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)
       })

你可能感兴趣的:(前端JS基础五(日期、Math、API))