黑马程序员技术交流社区
标题:
在Dom时间中为什么有的处理函数后面要加()而有的不加。
[打印本页]
作者:
李先洋
时间:
2012-12-13 16:43
标题:
在Dom时间中为什么有的处理函数后面要加()而有的不加。
<html>
<head>
<script type="text/javascript>
functoin bodymosedown(){
alert("哈哈");
}
function f(){
alert("点我");
}
</script>
</head>
<body onmousedown="bodymousedown()" >
<input type="button” onclick=“document.ondbclick=f"/>
</body>
</html>
为什么调用函数bodymousedown后面加();f 后面不加()?
作者:
netboy032
时间:
2012-12-13 17:08
第一个是调用那个函数,你调用函数难道不加括号的啊。
第二个是把 f 所指向的函数的地址赋值给document.ondbclick,所以不加括号咯,
作者:
张小平
时间:
2012-12-13 17:24
个人理解:()可以表示成调用函数,得到其返回值,onmousedown="bodymousedown()" 可以理解成当鼠标按下的时候,调用bodymousedown的返回值,也就是弹出哈哈消息框;而<input type="button” onclick=“document.ondbclick=f"/>是动态设置事件的一行代码,意思是,当点击button时,设置当前文档的双击事件要处理的函数是f,动态设置事件的代码中的函数不能加(),否则设置的事件会失效
作者:
黄新
时间:
2012-12-14 11:17
<body onmousedown="bodymousedown()" >
<input type="button” onclick=“document.ondbclick=f"/>
bodymousedown()是一个函数,意思就是当onmousedown事件发生的时候调用bodymousedown()这个函数了。
第二句话的意思就是当button按钮被点击了,就把 documnet.ondblik 这个事件绑定一个f的方法。这里f 表示的就是指向f()函数的指针。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2