<input onclick="change()" value="移动" type="button" id="btn">
var btn = document.getElementById('btn');
btn.onclick = change();
btn.onclick = change;
问题: onclick中change函数加不加括号的区别
代码的onclick事件是在html内写的,而代码2的onclick事件是在script中写的,这是最主要的区别。onclick事件如果在html内写的话,引号内代表要执行的代码,不加括号就不会调用要执行的那个函数。onclick事件在script写的话,如果加了括号就代表将这个函数的返回值直接赋给了onclick事件,也就是说页面直接会触发onclick的效果,不需要点击。这显然不是我们想要的效果,我们想要的效果是点击触发效果,是要将这个函数赋值给这个onclick属性,而不是返回值。所以在script内的onclick事件不应该加括号,而在html内的onlick事件是要加括号的。