zoukankan      html  css  js  c++  java
  • javascript笔记(2)(Evernote)

    一、函数声明与函数表达式的区分
     

        函数声明:

      function  函数名称  (参数:可选) { 函数体 }

      函数表达式:

      function  函数名称(可选)(参数:可选) { 函数体 }

     

      function foo(){} // 声明,因为它是程序的一部分
    var bar = function foo(){}; // 表达式,因为它是赋值表达式的一部分

    new function bar(){}; // 表达式,因为它是new表达式

    (function(){
    function bar(){} // 声明,因为它是函数体的一部分
    })();

    还有一种函数表达式不太常见,就是被括号括住的(function foo(){}),他是表达式的原因是因为括号 ()是一个分组操作符,它的内部只能包含表达式

    二、Module模式
    1. 模块化,可重用
    2. 封装了变量和function,和全局的namaspace不接触,松耦合
    3. 只暴露可用public的方法,其它私有方法全部隐藏
     三、自己第一次做出来的函数
    window.onload=function(){
    var song=document.getElementById("myFirst");
    song.addEventListener("click",changeBoxes,false);
    }

    function changeBoxes(evt){
    var oForm=document.forms["myForm1"];
    var oCheckBox=oForm.hoby;
    alert(evt.target.name);
    for(var i=0;i<oCheckBox.length;i++)
    if(evt.target.name<0)
    oCheckBox[i].checked=!oCheckBox[i].checked;
    else if(evt.target.name>0)
    oCheckBox[i].checked = 1 ;
    else oCheckBox[i].checked = 0 ;

    <p id="myFirst">
    <input type="button" value="全选" name="1">
    <input type="button" value="全不选" name="0">
    <input type="button" value="反选" name="-1">
    </p>
    }
    第一个函数是执行函数 通过getElementById("myFirst")获取到p标签。
    通过addEventListener 进行事件监听;将事件绑定在3个input标签的父级p上,实现了事件委托
    并且在进一步理解了事件委托之后,通过target属性 在点击事件中指向你所点击的对象,能进一步动态获取点击对象的属性,从而通过判断属实对不同点击对象实现不同的操作。
    !!!!!!!!!!!用到了 evt.target.name 其中evt是参数;
    另外,需要知道,如果像<element onclick="function(this)"> 这样添加事件, 该this是指向该Element
                                                     2014年11月26日                                                                  




















  • 相关阅读:
    CodeForces 706C Hard problem
    CodeForces 706A Beru-taxi
    CodeForces 706B Interesting drink
    CodeForces 706E Working routine
    CodeForces 706D Vasiliy's Multiset
    CodeForces 703B Mishka and trip
    CodeForces 703C Chris and Road
    POJ 1835 宇航员
    HDU 4907 Task schedule
    HDU 4911 Inversion
  • 原文地址:https://www.cnblogs.com/songjum/p/5272225.html
Copyright © 2011-2022 走看看