美文网首页
放进收藏夹,省下时间睡觉!

放进收藏夹,省下时间睡觉!

作者: 流光号船长 | 来源:发表于2017-12-18 19:09 被阅读0次

1. 数组去重

[...new Set([2,"12",2,12,1,2,1,6,12,13,6])]
//[2, "12", 12, 1, 6, 13]
//es6的新特性

2. 深浅拷贝

  • 浅拷贝

var myInfo={name:'守候',sex:'男'};
var newInfo=myInfo;
  • 深拷贝

  1. 假深拷贝
var myInfo={name:'守候',sex:'男'};
var newInfo=Object.assign({},myInfo)
  1. 真深拷贝
var newArr2=JSON.parse(JSON.stringify(arr));
console.log(arr[0])//{a:1,b:2}
newArr2[0].a=123
console.log(arr[0])//{a:1,b:2}

3. 事件委托

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <ul id="ul-test">
            <li>0</li>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
        </ul>
    </body>
    <script type="text/javascript">
        var oUl=document.getElementById("ul-test");
        oUl.addEventListener("click",function(ev){
            var ev=ev||window.event;
            var target=ev.target||ev.srcElement;
            //如果点击的最底层是li元素
            if(target.tagName.toLowerCase()==='li'){
                alert(target.innerHTML)
            }
        })
    </script>
</html>

5. 使用push和apply合并数组

var arr1=[1,2,3,4,5],arr2=[6,7,8,9,10];
arr1.push.apply(arr1,arr2);
console.log(arr1)//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

6. toFixed保留整数

var a=123.36896335.toFixed(2)
console.log(a)//'123.37'
a=+a
console.log(a)//123.37
var a=123.36896335.toFixed(2)
console.log(a)//'123.37'
a=a|0  
console.log(a)//123 
//---------------------------------分割线
var a=123.36896335.toFixed(2)
console.log(a)//'123.37'
a=~~a  
console.log(a)//123      

7. 缓存变量

  • for循环缓存length
var arr=[1,2,3,4,5,6]
for(var i=0,i<arr.length;i++){
    ...
}
//------------------------分割线
var arr=[1,2,3,4,5,6]
for(var i=0,len=arr.length;i<len;i++){
    ...
}
  • 元素事件
$('.div1').click(function(){
   ...
})
//--------------------------分割线   
var $div1=$('.div1');
$div1.click(function(){
   ...
})

8. 使用innerHTML添加元素

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <ul id="ul-test">
            
        </ul>
    </body>
    <script type="text/javascript">
        var oUl=document.getElementById("ul-test");
        //createElement方式
        console.time();
        for(var i=0;i<10;i++){
            var oLi=document.createElement('li');
            oLi.innerHTML=i;
            oUl.appendChild(oLi);
        }
        console.timeEnd();
        //innerHTML方式
        console.time();
        var _html='';
        for(var i=0;i<10;i++){
            _html+='<li>'+i+'</li>'
        }
        oUl.innerHTML=_html;
        console.timeEnd();
    </script>
</html>

9. 函数节流

function delayFn2 (fn, delay, mustDelay){
     var timer = null;
     var t_start;
     return function(){
         var context = this, args = arguments, t_cur = +new Date();
         //先清理上一次的调用触发(上一次调用触发事件不执行)
         clearTimeout(timer);
         //如果不存触发时间,那么当前的时间就是触发时间
         if(!t_start){
             t_start = t_cur;
         }
         //如果当前时间-触发时间大于最大的间隔时间(mustDelay),触发一次函数运行函数
         if(t_cur - t_start >= mustDelay){
             fn.apply(context, args);
             t_start = t_cur;
         }
         //否则延迟执行
         else {
             timer = setTimeout(function(){
                 fn.apply(context, args);
             }, delay);
         }
     };
}
var count=0;
function fn1(){
    count++;
    console.log(count)
} 
//100ms内连续触发的调用,后一个调用会把前一个调用的等待处理掉,但每隔200ms至少执行一次
document.onmousemove=delayFn2(fn1,100,200)

相关文章

  • 放进收藏夹,省下时间睡觉!

    1. 数组去重 2. 深浅拷贝 浅拷贝 深拷贝 假深拷贝 真深拷贝 3. 事件委托 5. 使用push和apply...

  • 省下来的时间去睡觉

    现在越感觉现在的公众号也好,知乎也好,简书也好等等都在消耗我们自己。也有很多人傻儿吧唧的听风就是雨。呼吁大家远离没...

  • 一张欠条

    绝大部分的人或事,时间久了,是会被放进大脑的“回收站”,并被彻底清空的;只有极少数的,被放进了记忆的“收藏夹”,虽...

  • 微习惯复盘与感恩日记2022-08-28

    1、科研:如果把公众号文章放进收藏夹就自动能够看完就好了。脑子怎么就不能自动读取收藏夹信息呢? 2、正经书:今天用...

  • 每天都有新收获

    早点睡觉是个好习惯,把所有省下来的时间都睡过去,为赚钱的时间充好电

  • 2020-03-05

    人似乎没有什么必须想要拥有的,自控力可以解决一切。比如将很喜欢的衣服放进tb收藏夹,过段时间便没那么喜欢了;比如心...

  • 【No.37】请及时清理微博收藏夹

    十年前,第一条内容被放进收藏夹,当时告诉自己:明天看。十年后,那成了位于收藏夹最深处的第N个“明天看”。 一。 前...

  • 生活

    我觉得人应该有正事,所以不看李子柒了,省下时间写作。 本来可以睡觉的,终究觉得还是写点什么好。...

  • 把时间放进冰箱

    一个人的时候,时间似乎永远都是富裕的。对于我这种没啥追求的人来说,日子一直是不急不慢的过,当然,有时候也会折腾一下...

  • 济南这家铁板厨房小店,为何比西餐有劲头?女吃货带你去探店

    当下社会时间就是金钱,就是钱啊。 很多年轻人宁可每天饿着肚子上班,也要把早餐省下来的时间用来睡觉。中午,就随便吃点...

网友评论

      本文标题:放进收藏夹,省下时间睡觉!

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