函数是否加括号的问题

<a onclick = "fun()"></a> //这里有括号

document.getElementById("ID").onclick = fun; //这里不可以有括号

为什么会有这样的不同

首先加上括号是执行的意思,所以添加事件的回调函数应该,明显是需要把一个函数复制给这个事件属性(传递一个函数名也就是一个函数的指针),而不是要这个函数的结果

而在标签内的事件属性的值是由引号包裹的,代表的是当点击该元素时,执行引号内的代码fun();

同时也是说明了标识Html中的js代码与js中的代码的作用方法是不同的所以要尽可能的吧HTML与js分离就不会有这样的问题了

猜你喜欢

转载自blog.csdn.net/qq_39148344/article/details/83752888