javascript筆記(2)(Evernote)

1、函數聲明與函數表達式的區分
 

    函數聲明:模塊化

  function  函數名稱  (參數:可選) { 函數體 }函數

  函數表達式:this

  function  函數名稱(可選)(參數:可選) { 函數體 }spa

 

  function foo(){} // 聲明,由於它是程序的一部分
var bar = function foo(){}; // 表達式,由於它是賦值表達式的一部分

new function bar(){}; // 表達式,由於它是new表達式

(function(){
function bar(){} // 聲明,由於它是函數體的一部分
})();

還有一種函數表達式不太常見,就是被括號括住的(function foo(){}),他是表達式的緣由是由於括號 ()是一個分組操做符,它的內部只能包含表達式

2、Module模式
  1. 模塊化,可重用
  2. 封裝了變量和function,和全局的namaspace不接觸,鬆耦合
  3. 只暴露可用public的方法,其它私有方法所有隱藏
 3、本身第一次作出來的函數
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日                                                                  
相關文章
相關標籤/搜索