首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JavaScript 事件綁定:函式是物件也是實例

     編輯:程式設計疑難解答

核心結論

在 JavaScript 中,**函式就是物件**,也是一等公民。綁定事件時傳入的函式,本質上是一個Function 物件實例。

為什麼說是實例?

  • 函式可被指派給變數、當作參數傳遞、作為回傳值。
  • 每個函式擁有自己的屬性(如 length、name)與方法(call、apply、bind)。
  • 透過 new Function() 或函式字面量建立的每個函式,都是獨立的物件實例,擁有各自的閉包環境與 this 綁定。

代碼示意

var handler = function() { console.log('clicked'); };
element.addEventListener('click', handler);
// handler 是一個 Function 物件實例
// 移除時必須傳入同一個引用:element.removeEventListener('click', handler);

補充:JavaScript 沒有「類」

JS 使用原型繼承,而非類別導向。Object、Array、Number 等內建建構函式本身也是函式物件。new Object() 是呼叫建構函式的 建構器調用模式,產生的物件透過原型鏈繼承方法,並非像 C++/Java 那樣從類別實例化。

術語建議

在 JS 語境下,使用「函式物件」或「回調函式」比「實例」更精確,避免混淆類別導向概念。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved