js匿名函数的调用示例(形式多种多样)
匿名函数就是没有实际名字的函数。
javaScript的匿名函数形式多样,而且不搞清楚,容易看晕代码。
以下是成功调用的匿名函数:
(function () {
alert(3);
})
();
(function f1() {
alert(4);
})(); //不是匿名函数也能这样调用!!
void function(){
alert('void water');
}();//据说效率最高,Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
!function(){
alert('!water');
}(); //运算符+匿名函数调用
(function(){
alert('water');
}());//小括号+匿名函数,有点强制执行的味道~
使用匿名函数也要注意经常犯的错误:
//错误写法1
(function f1() {
alert(5);
})f1(); //这不是匿名函数了!
//错误写法2
(function () {
alert(6);
}); //语法没有错误,没有调用的匿名函数,后面也没有机会调用了,因为没有名字,找不到调用入口。
//错误写法3
function () {
alert(1);
}();//没有产生函数的引用就调用
另外要注意理解小括号的作用。
小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。
相关文章
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
这篇文章主要介绍了JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-09-09
Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox
Javascript 模拟点击事件,一般情况下ie支持的,firefox并不支持。所以可以通过下面的方法解决。2010-01-01


最新评论