var a = function() { alert('您好嗎'); };
// c() // 這行代碼有誤,應為 a()
var a = function() {...}:將**匿名函數對象**賦值給變量 a。此時 a 持有函數的**引用**。a():調用函數(執行函數體)。<button onclick="f1()">點擊</button>
onclick="f1()":將字符串 "f1()" 設置為元素的 onclick 屬性。瀏覽器解析時會創建一個函數,函數體為該字符串,上下文為元素(this 指向元素)。onclick='f1()' 或 onclick="f1()" 效果相同,只需注意內部字符串轉義。<script>)中賦值:操作的是 JS 變量/對象屬性。onclick,改用 addEventListener 或框架綁定(如 Vue @click、React onClick)。onclick="f1('arg', this)";現代寫法:el.addEventListener('click', () => f1('arg', el))。onclick="f1.call(this)" 可顯式傳遞元素;箭頭函數綁定時 this 為外層作用域。var a = fn 是**引用賦值**,a() 才是**調用**;onclick="f1()" 是瀏覽器將字符串編譯為事件處理器,**單雙引號無本質差異**,關鍵在於理解兩者屬於不同階段(JS 執行期 vs HTML 解析期)的綁定機制。