A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

<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 后面不加()?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
第一个是调用那个函数,你调用函数难道不加括号的啊。
第二个是把 f 所指向的函数的地址赋值给document.ondbclick,所以不加括号咯,

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
个人理解:()可以表示成调用函数,得到其返回值,onmousedown="bodymousedown()" 可以理解成当鼠标按下的时候,调用bodymousedown的返回值,也就是弹出哈哈消息框;而<input type="button” onclick=“document.ondbclick=f"/>是动态设置事件的一行代码,意思是,当点击button时,设置当前文档的双击事件要处理的函数是f,动态设置事件的代码中的函数不能加(),否则设置的事件会失效

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
<body onmousedown="bodymousedown()" >
<input type="button” onclick=“document.ondbclick=f"/>
bodymousedown()是一个函数,意思就是当onmousedown事件发生的时候调用bodymousedown()这个函数了。
第二句话的意思就是当button按钮被点击了,就把 documnet.ondblik 这个事件绑定一个f的方法。这里f 表示的就是指向f()函数的指针。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马