美文网首页
Date,Math,对象API,数组API

Date,Math,对象API,数组API

作者: 我向你奔 | 来源:发表于2018-03-28 15:50 被阅读11次

    Date

    Date.now();       // 返回值:1970年1月1日午夜与当前日期和时间之间的毫秒数
    var date = new Date();
    console.log(date.getTime());          // 获取毫秒数
    console.log(date.getFullYear());      // 年 
    console.log(date.getMonth()+1);       // 月 (0 - 11)
    console.log(date.getDate());          // 日 (1 - 31)
    console.log(date.getHours());         // 小时 (0 - 23)
    console.log(date.getMinutes());       // 分钟 (0 - 59)
    console.log(date.getSeconds());       // 秒 (0 - 59)
    

    在这里需要注意的是:在获取月份时需要+1,因为月份的取值是从0开始的。

    Math

    Math.random();      // 获取大于等于 0.0 且小于 1.0 的随机数,一般不会重复
    

    Math.random()在前端中可以起到清除缓存的作用,比如很频繁的访问一个链接,如果服务端有缓存,你这个链接不变的话,它会一直缓存,你访问不到一个真实的效果,只有清除浏览器缓存或者CTRL+F5强制刷新之后才能出现最新的版本,这样调试起来十分的不方便,可以采取在ajax的url后加上随机串来避免浏览器缓存,:

    $.ajax({url:'test.php?'+Math.random()*100000})
    

    在ajax的url后加上随机串来避免浏览器缓存,使每一次的请求都是一个新请求,从而防止浏览器从缓存中读取旧版本,除了加入随机数还可以加入当前时间,同样可以使每次请求的地址都是不一样的,从而防止浏览器使用缓存。
    常用的数学方法还有:

    Math.floor();       // 向下取整(下舍去)
    Math.ceil();        // 向上取整(上进入)
    Math.round();       // 四舍五入
    Math.abs();         // 取绝对值
    Math.cos();         // 余弦值
    Math.sin();         // 正弦值
    Math.max();         // 比较(取大)
    Math.min();         // 比较(取小)
    Math.pow(x,y);      //x 必需 底数,必须是数字;y 必需,幂数,必须是数字
    

    总结了一些JS常用的编程技巧。若有不对,欢迎指正。

    1. 随机获取数组中的元素

    var arr = [1, 2, 3, 4, 5];
    var arrItem = arr[Math.floor(Math.random() * arr.length)];
    

    2. 获取数组中的最大值或最小值

    var arr = [1, 2, 3, 4, 5, 55, 789];
    var maxNum = Math.max.apply(Math,arr);
    var minNum = Math.min.apply(Math,arr);
    

    3. 获取指定范围内的随机数

    var num = Math.floor(Math.random() * (max - min)) + min;
    

    数组API

    forEach:遍历所有元素
    var arr = [1, 2, 3]
    arr.forEach(function (item, index) {
    // 遍历数组的所有元素 
        console.log(item, index)
    })
    
    every:判断所有元素是否都符合条件
    var arr = [1, 2, 3, 4, 5];
    var result = arr.every(function (item, index) {
        if (item < 4) {
            return true;
        }
    });
    console.log(result);
    
    some:判断是否有至少一个元素符合条件
    var arr = [1, 2, 3, 4, 5];
    var result = arr.some(function (item, index) {
        if (item < 3) {
            return true;
        }
    });
    console.log(result);
    
    map:对数组重新封装,生成新数组
    var arr = [1, 2, 3, 4, 5];
    var arr2 = arr.map(function (item, index) {
        return "<b>" + item + "</b>";
    })
    console.log(arr2);
    
    filter:过滤符合条件的数组
    var arr = [1, 2, 3, 4, 5];
    var arr2 = arr.filter(function (item, index) {
        if (item < 4) {
            return true;
        }
    })
    console.log(arr2);
    

    对象API

    var obj = {
        x: 100,
        y: 200,
        z: 300
    }
    for (key in obj) {
        if (obj.hasOwnProperty(key)){
            console.log(key, obj[key]);
        }
    }
    

    相关文章

      网友评论

          本文标题:Date,Math,对象API,数组API

          本文链接:https://www.haomeiwen.com/subject/hdlexftx.html