• JavaScript基础知识——Date,Math


    题目:

      1、获取2017-06-10格式日期

    示例1:
    var date = new Date();
    var add =  function(s){
        if (s.toString().length === 1) {
            s = "0" + s;
        }
        return s;
    }
    var year = date.getFullYear();
    var mounth = date.getMonth() + 1;
    var day = date.getDate();
    console.log(add(year) + '-' +add( mounth) + '-' + add(day));
    
    //示例2:
    function  formatDate(dt) {
        if (!dt) {
            var 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(formatDate);

      2、获取随机数,要求是长度一致的字符串格式

    示例1:
    var a = Math.random()*10;
    Math.floor(a);
    
    示例2:
    var random = Math.random();
    random = random + '0000000000';
    random = random.slice(0,10);
    //slice() 方法返回一个从0开始到10结束(不包括结束)选择的数组的一部分,浅拷贝到一个新数组对象。
    //原始数组不会被修改
    console.log(random);

      3、写一个能遍历对象和数组的通用forEach函数

    function forEach(obj,fn) { //把数组或者对象作为参数传进去
        var  key;
        if (obj instanceof Array) {
            //准确判断是不是数组
            obj.forEach(function(item,index){
                fn(index,item)
            })
        } else{
            //不是数组就是对象
            for (key in obj) {
             if(obj.hasOwnProperty(key)){
                fn(key,obj[key])
                }
            }
        }
    }
    
    //arr
    var arr = [1,2,3,4];
    forEach(arr,function (index,item) {
        console.log(index,item)
    })
    //obj
    var obj = { x:100,y:200}
    forEach(obj,function(key,value){
       console.log(key,obj[key]);
    })
    // 0 1
    // 1 2
    // 2 3 // 3 4 // x 100 // y 200

    知识点:

      1、日期 

    Date.now()  //获取当前时间毫秒数
    var dt=new Date()
    dt.getTime()  //获取毫秒数
    dt.getFullYear()  //
    dt.getMonth()   //月(0-11) - 获取后要加1
    dt.getDate()   //日(0-31)
    dt.getDay()    //星期(0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推)
    dt.getHours()   //小时(0-23)
    dt.getMinutes()   //分钟(0-59)
    dt.getSeconds()   //秒(0-59)
    //获取的一切时间都是var dt = new Date()时的时间

      2、Math

       主要作用创建随机数,清除缓存 Math.random(); 

      3、数组API

        a、forEach遍历所有元素

     //forEach 让数组中的每一项做一件事
    var num = [1,2,3,4,5];
    num.forEach(function(item,index,array){
        console.log(item,index)
    });

        b、every判断所有元素是否都符合条件

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

        c、some判断是否至少一个元素符合条件

    var num = [1,2,3,4];
    var result = num.some(function(item,index){
    // 用来判断所有的数组元素,只要有一个满足条件就行
        if (item < 5) {
            return true
        }
    });
    console.log(result) //true

        d、sort排序

    var arr = [1,5,3,2,4];
    var arr2 = arr.sort(function(a,b){
        //从小到大 排序a - b 
        return a - b;
        //从大到小排序 b - a
    });
    console.log(arr2);

        e、 map 对元素重新组装,生成新数组

    var arr = [1,5,3,2,4];
    var arr2 = arr.map(function(item,index){
        ////将元素重新组装并返回
        return '<b>'+ item +'</b>'
    });
    console.log(arr2);//["<b>1</b>", "<b>5</b>", "<b>3</b>", "<b>2</b>", "<b>4</b>"]
    
    //示例2:
    //map 返回每一项经过计算后的组成的数组
    var num = [1,2,3,4,5,4,5,4,3,2,1,0];
    var result = num.map(function(item,index,array){
        return (item + "s")
    });
    console.log(result);//["1s", "2s", "3s", "4s", "5s", "4s", "5s", "4s", "3s", "2s", "1s", "0s"]

        f、filter过滤符合条件的元素

    // 示例1:
    var arr = [1,5,3,2,4];
    var arr2 = arr.filter(function(item,index){
        if (item > 2) {
            return true;
        }
    });
    console.log(arr2); //[5, 3, 4] 
    // 示例2:
    //filter 返回条件为true的项组成的数组
    var num = [1,2,3,4,5,4,5,4,3,2,1,0];
    var result = num.filter(function(item,index,array){
        return (item>2)
    });
    console.log(result) //[3, 4, 5, 4, 5, 4, 3]

      4、for.. in...遍历对象

    var obj = {
        x:100,
        y:200,
        z:300
    }
    var key;
    // key 用来取 obj 的属性名,即 x, y ,z
    for (key in obj){
    //确定属性的名字是对象原生的属性名,不是通过原型继承而来的 
        if (obj.hasOwnProperty(key)) {
            console.log(key,obj[key]) //obj[key],通过属性名获取属性值
        }
    }
  • 相关阅读:
    C#中的委托是什么?事件是不是一种委托?
    SQL重点复习
    数据库生成脚本
    用Winfrom动态生成SQL的insert语句
    如何实现远程连接SQL Server 2008 Express
    跨页面传送
    win7 防火墙开启ping
    关于*.class和*.jar的几个基本认识
    使用cobertura确定测试代码的覆盖率
    Java学习笔记之I/O
  • 原文地址:https://www.cnblogs.com/utrustme/p/8573180.html
Copyright © 2020-2023  润新知