为什么我不能 setAttribute('onclick', function() { ... })?

ijt*_*ijt 1 html javascript

我试过这个:

<div id="a">A</div>
<div id="b">B</div>
<script>
let a = document.getElementById('a');
let b = document.getElementById('b');
a.onclick = function() { alert('hi from a'); };
b.setAttribute('onclick', function() { alert('hi from b'); });
</script>
Run Code Online (Sandbox Code Playgroud)

单击 A 将显示一条警报。单击 B 会发出以下错误消息:Uncaught SyntaxError: Function statements require a function name。为什么?

https://codepen.io/issactrotts/pen/yLYEXKZ

Que*_*tin 5

属性值是字符串,而不是函数。

addEventListener代替使用。