javascript中匿名函数的使用及其优缺点的详细解释

javascript中匿名函数的使用及其优缺点的详细解释
匿名函数可以有效地保证页面上Javascript的编写,而不会造成全局变量的污染。

当添加Javascript到不熟悉的页面时,这是非常有效和优雅的。

1。什么是匿名函数

在Javascript中定义函数有三种方法,如下所示:

函数关键字(函数)语句:
功能fnmethodname(x){ alert(x);}

函数字面量(函数文本):
无功fnmethodname =函数(x){ alert(x);}

函数()构造函数:
无功fnmethodname =新的函数(x,'alert(x);')

以上三种方法定义相同的方法的功能,fnmethodname,

第一种是最常用的方法,后者是复制一个函数的变量fnmethodname,这个功能是没有名字的,那就是匿名函数。

事实上,相当多的语言都有匿名函数。

二、函数文本与函数()构造函数的区别

尽管函数字面是一个匿名函数,但是语法允许分配任何函数名。在编写递归函数时,它可以调用自己,并使用函数()构造函数。

var =函数(x){如果事实(x≤1)返回1;否则返回××事实(X-1);};

功能()构造函数允许Javascript代码的动态生成和编译时它允许运行。在这方面,它类似于全局函数eval()。

()构造函数的函数解析函数的函数体,每次执行时,会创建一个新的函数对象,调用函数的效率()在一个圆形的或频繁执行的函数的构造函数很低。相反,该函数字面量不重新编译一次。

当函数()构造函数创建一个函数时,它并不遵循一个典型的作用域,它总是把它作为一个顶级函数使用。

全局;

功能constructfunction(VAR){ y =地方;返回新功能(返回Y); / /无法获取局部变量报警(constructfunction)}(()); / /定义与函数输出全球功能关键词()构造函数有特殊困难的使用比自己,

所以这种技术通常很少使用。

函数字面表达式与函数关键字的定义非常接近。

考虑到以前的差异,虽然有消息说一个匿名函数的数量,有一些WebKit引擎错误OS X 10.4.3下。

但是我们通常说的匿名函数引用函数形式的匿名函数。

三,匿名函数的代码模式

错误模式:它不能工作浏览器会报告错误的语法。

函数(){警报(1);}();

函数文字:首先,声明一个函数对象,然后执行它。

(函数(){警报(1);})();

优先表达:

(函数(){警报(2);}());

操作符:

空函数(){警报(3);}(),这三种方法是相同的。Hedger Wang喜欢第三种个人原因,但在实际应用中,第一种是使用。

四、匿名函数的应用

Javascript模型中的第一句话是,全局变量是魔鬼。

使用var关键字,匿名函数可以有效地保证页面上Javascript的编写,而不会造成全局变量的污染。

当添加Javascript到不熟悉的页面时,这是非常有效和优雅的。

事实上,小唯和其相应的范例使用了大量的匿名函数,和许多其他的Javascript库的大量使用。

Javascript函数编程的基石(函数式编程)。

请看使用函数式编程编写优雅的Javascript和功能性Javascript编程指南。

和优缺点在上面的Javascript匿名函数使用的是萧边分享给你的全部内容。我希望能给你一个参考,我希望你会得到很多支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部