JS函数定义与匿名函数的调用
定义函数的三种方法:
1.关键字法
function fnMethodName(x) { alert(x); }
2.字面量法
var fnMethodName = function (x) { alert(x); }
3.Function()构造函数
var fnMethodName = new Function(‘x‘, ‘alert(x);‘)
上面三种方法定义了同一个方法函数fnMethodName,第1种就是最常用的方法,后两种都是把一个函数复制给变量fnMethodName,而这个函数是没有名字的,即匿名函数。
4.定义匿名函数
<body onload="alert(‘http://www.baidu.com/‘);"> <script type="text/javascript"> void function() { alert(‘弹出框‘); }(); </script> </body> 二写法 <body onload="alert(‘http://www.baidu.com/‘);"> <script type="text/javascript"> (function() { alert(‘弹出框‘); })(); </script> </body>
没有函数名的函数,这就引申了如何去调用一个匿名函数的问题了。
小括号调用
为什么这种方法能成功调用呢?
小括号的作用:
小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。
所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。
因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。