美文网首页
5月29号克隆、事件流内联事件、

5月29号克隆、事件流内联事件、

作者: 不与众生 | 来源:发表于2018-05-30 20:16 被阅读0次

    一、浅克隆、深克隆

    (1)浅克隆:

    案例:

    Js部分:function clone(){   var student1={};

           for(var key in student){

              student1[key]=student[key]

            }

          return student1;

       }

          var student1=clone();

       console.log(student1);

       student.name='rose';

       console.log(student1);

    (2)深克隆:

    案例:

    Js部分:function clone(obj){

    var student1=obj instanceof Array?[]:{};

            for(var key in obj){

    if(obj[key] instanceof Object){                student1[key]=clone(obj[key]);

               }else{

                   student1[key]=obj[key];

    }

            }        return student1;

    }

       var student1=clone(student);

       console.log(student1);

        student.friend[0]='Tom';console.log(student1);

    二、事件流内联事件:

    .onclick    事件监听:

    .addEventListener('事件',function(){})

    三、事件冒泡和事件捕获案例:

    Body部分:

             <div class="box">

                    <div class="list">

                           <div class="li"></div>

                </div>

    </div>

                

    Js部分:

    var box=document.querySelector('.box');    

      var list=document.querySelector('.list');  

        var li=document.querySelector('.li');    

       box.addEventListener('click',function(){            alert('我是box');        },true)      

            list.addEventListener('click',function(){            alert('我是list');        },true)            

       li.addEventListener('click',function(){            alert('我是li');        },true)

    //事件冒泡:从内到外依次触发//事件捕获:从外到内依次触发(添加true)

    四、事件委托

    事件委托:可以简单第理解为将子集的事件委托给父级来处理案例:

    Body部分

    <div class="boxs">

                        <button class="btn1">按钮1</button>

                        <button class="btn2">按钮2</button>

    </div>

    按钮1

    按钮2

    js部分

    var box=document.querySelector('.boxs');                

       box.addEventListener('click',function(event){                  

      var target=event.target;                  

      console.log(target.innerHTML);                  

      })                                        

    var btn=document.createElement('button');

    btn.innerHTML='按钮3';btn.className='btn3';

    document.querySelector('div').appendChild(btn);

    相关文章

      网友评论

          本文标题:5月29号克隆、事件流内联事件、

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