这两天正在学习javascript中的事件,出现了一个这样的一个以疑惑,就是在点击事件调用方法的时候有时候后面需要不需要加括号。感觉有点儿晕,,不太明白到底是什么时候需要加括号什么时候不需要加括号。于是在网上找了一些资料,整理了一下如有不足或者错误之处欢迎拍砖:
例1:
<input class="btn_default" type="button" οnclick="demo()" value="js HTML事件处理"/>
<script type="text/javascript">
function demo() {
alert("HTML事件处理");
}
</script>
上面的实例中,onclick = demo() 是需要加括号的。因为在 html 中 onlclick 是作为 input 的一个属性而存在的 onclick 所调用的是一个方法, 方法后面是必须要加括号的,而 demo 这是方法的一个名称而已。所以如果如果在程序中调用的是一个方法就必须加上括号。
例2:
<input class="btn_default" type="button" id="btn_dom0" value="js Dom0级事件处理"/>
<script type="text/javascript">
function demo() {
alert("HTML事件处理");
}
var btn0 = document.getElementById("btn_dom0");
btn0.onclick = demo;
</script>
这一个实例里,通过 document.getElementById() 方法获取到 button 按钮,此时 btn0 是一个对象。 onclick 是对象 btn0 的一个事件,它的类型是一个对象,所以后面 btn0.onclick = demo; 只是一个赋值操作。 这里的 demo 表示的是一个对象,于是就不需要加括号。