源代码如下:- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title></title>
- <script type="text/javascript">
- function f1() {
- alert("我是f1");
- }
- function f2() {
- alert("我是f2");
- }
- </script>
- </head>
- <body>
- <input type="button" value="请点我1" onclick="f1()" />
- <input type="button" value="请点我2" onclick="document.ondblclick=f2" />
- </body>
- </html>
复制代码 问题如下:
<input type="button" value="请点我1" />
<input type="button" value="请点我2" />
这两行代码中:
前一行的方法f1后面加了括号,为"onclick="f1()" ;
后一行的方法f2后面没有加括号,为onclick="document.ondblclick=f2"
我的理解是:将方法和这个事件onclick相关联,其实就是将方法的地址的引用传给这个事件中包含的委托链。
我弄不明白的是为什么前一行代码方法f1后面要加上括号呢?这样岂不是调用方法f1,然后将f1的返回值赋值给onclick事件?onclick事件应该接收的是地址(即指针)呀,怎么变成接收一个方法的返回值了呢?
或者说这两者有什么区别和联系,希望帮我分析下?谢谢!
|