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
相关文章推荐
- Jackson 框架,轻易转换JSON
- js下拉菜单(鼠标+键盘双操作)
- js选项卡切换实战
- js表格操作实践
- js-Ajax与Comet
- [Javascript] Task queue & Event loop.
- ConvNetJS源代码解析第一篇
- json的字符串转实体对象
- IE8提示JS错误(KB927917)终极解决方法
- js 控制展开折叠 div html dom
- Javascript 中的非空判断 undefined,null, NaN的区别
- 关于 IScroll5 和IScroll4 的一些用法
- js构造函数学习笔记
- [Javascript] Call Stack
- JS总结之二:DOM对象控制HTML
- JS总结之一:字符串的调用方法
- js中基本常识
- js onclick="return test()"事件返回值,对有些事件,会影响默认动作的执行。如:onclick和onsubmit
- 提交表单时用json的格式提交
- C#Xml,json解析以及Socket传输问题