您的位置:首页 > Web前端 > JavaScript

JavaScript中函数有无括号()的区别

2016-01-26 22:00 537 查看
函数不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。
它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
EX:document.onmousedown=fx; fx不会立即执行,document.onmousedown事件发生时会调用函数fx
函数只要加括号,是要调用它进行执行的。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为
EX:document.onmousedown=fx(); 只调用fx,和document.onmousedown事件无关
<head> ......
<script>
function fx(){alert("fx");}
function gx(){alert("gx");}
</script>
</head>
<body>
<script>gx=fx;</script>
<input type="button" value="gx" onclick="gx();" />
</body>
点击BUTTON,弹出的消息是fx
<head>
......

<script>
window.onresize=fx;
function fx()
{alert("fx");
}
function gx()
{alert("gx");
window.open('https://www.baidu.com/');
}
</script>
</head>
<body>...</body>
窗口大小改变时调用fx
<head>
......
<script>window.onresize=fx();function fx(){alert("fx");}function gx(){alert("gx");window.open('https://www.baidu.com/');}</script></head><body>...</body>
打开网页时,调用一次fx,fx的调用和window.onresize无关,以后窗口大小改变时,并不调用fx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: