JavaScript中函數的調用

來源:互聯網
上載者:User

首先說函數的定義:
view sourceprint?function Hanshu() 

      //函數體... 

}

這樣我們就定義了一個名為Hanshu的函數,現在我們嘗試調用一下這個函數。其實很簡單,調用函數就是用函數的名稱加括弧,即:

Hanshu();

這樣我們就調用了這個函數。

我們用一個按鈕調用一下這個函數:將按鈕的點擊事件指向這個方法

<input type="button" value="click me" onclick="Hanshu()">

現在我在此方法中再寫一個方法

我們在這個方法中將body的點擊事件指向了一個新的方法,匿名方法。然後彈出click body
view sourceprint?function Hanshu() 

   document.body.onclick =  function() 

   { 

   alert(click body); 

   }; 

}

現在我們嘗試調用一下

<input type="button" value="click me" onclick="Hanshu()">

但是這樣是不能實現每單擊body時,彈出click body

因為當body去訪問這個匿名方法時,找不到此方法

我們可以這麼測試一下

view sourceprint?function AddClick() 

   // 這樣不能實現把body的單擊事件指給新的方法, 因為body不能訪問在函數體裡的函數 

   /* 

   document.body.onclick = new function() 

   { 

   alert(click body); 

   }; 

   */

  

   // 這樣可以實現 

   document.body.onclick = BtnAn; 

  

   // 如果把方法指向函數內的方法,則會出現錯誤:NeiHanshu未定義 

   // document.body.onclick = NeiHanshu; 

  

  

  

  

function BtnAn() 

   alert(click body); 

  

  

   //   function NeiHanshu() 

   //   { 

   //   alert(函數裡的函數被調用); 

   //   } 

   //   NeiHanshu(); 

  

  

}

所以結果是:我們只能調用在外部的函數,不能調用函數裡的函數,這也就是一個存取層級的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.