zoukankan      html  css  js  c++  java
  • 阻止冒泡行为和闭包

    阻止事件冒泡行为,要是不阻止的话,点击div的时候也会同时触发body事件

    html代码

    <body onclick='load()'>
    <div onclick='cli()'>
    click this
    </div>
    </body>

    css代码

    div{
    200px;
    height:200px;
    border:1px red solid;
    }

    js代码

    function load(){
    console.log('body')
    }
    function cli(e){
    console.log('div');
    if ( e && e.stopPropagation ){
    e.stopPropagation();
    }
    else{
    window.event.cancelBubble = true;
    return false;
    }
    }

    //闭包:内部函数可以访问外部函数的变量

    function a(){
    var i=0;
    function b(){
    alert(++i);
    }
    return b;
    }
    var c=a();
    c();//1 返回的b()但是b()可以访问a函数中的变量i

     ps:如果不是因为某些特殊任务而需要闭包,在没有必要的情况下,在其它函数中创建函数是不明智的,因为闭包对脚本性能具有负面的影响,包括处理速度和内存消耗。解决闭包可以使用匿名函数

  • 相关阅读:
    打印出1-10000之间的所有对称数(如121,1331,2442)
    代码块
    javascript判断数据类型
    块和内嵌
    xhtml+css基础知识2
    xhtml+css基础知识1
    清除浮动
    margin注意问题
    javascirpt 闭包
    css3 box-sizing属性
  • 原文地址:https://www.cnblogs.com/lwwen/p/5591280.html
Copyright © 2011-2022 走看看