匿名函数的好处

我现在在学javascript中涉及到了匿名函数,但不知道它有什么好处!... 我现在在学javascript中涉及到了匿名函数,但不知道它有什么好处! 展开
 我来答
艳阳高照的午后
推荐于2020-02-11 · TA获得超过1万个赞
知道大有可为答主
回答量:1.2万
采纳率:97%
帮助的人:4923万
展开全部
  匿名函数出现在 matlab 中。它是matlab中定义的一种函数形式。
  匿名函数的作用(好处):匿名函数的作用:主要实现自己定义matlab中的函数,从而扩大函数的使用功能。
  函数简介:匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。

  和内联函数(inline)相比,匿名函数的优越性在于可以直接使用workspace中的变量,不必申明,非常适合嵌入到M文件中。
  %例10-25 匿名函数举例。
  %本例列举3个匿名函数的例子,分别有0个、1个和两个输入参数。
  %首先介绍没有输入参数的匿名函数,只需用空格代替arglist即可。例如,编写求解当前时间的匿名函数如下所示。
  >> t = @() datestr(now);
  t() %函数的调用
  ans =
  14-Sep-2004 20:22:50
  %值得注意的是,调用该函数时,括号不能省略,否则, MATLAB 7.1将对程序不予计算,如下所示。
  >> t
  t =
  @() datestr(now)
  >>
  %再介绍有一个大雀配输入参数的匿名函数,该函数用于求所输入参数的平方,编制并运行程序如下所示岁乎。
  >> sqr = @(x) x.^2
  sqr =
  @(x) x.^2
  >> sqr(12)
  ans =
  144
  >>
  %最后介绍有两个输入参数的匿名函数,用户可以由此推导有多个参数的匿名函数,编制并运行程序如下所滚指示。
  >> sumAxBy = @(x, y) (14*x + 41*y)
  sumAxBy =
  @(x, y) (14*x + 41*y)
  >> sumAxBy(3,7)
  ans =
  329
  >>
  注意这些定义过程,其中@这个标志符是很重要的。
匿名用户
2013-03-29
展开全部
你是想问匿名类(Anonymous Classes)吧?

举一斗答码个比较极端的例子:
Thread t = new Thread ( new Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
});

其中的
Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
}
就是一个嵌套声明的匿名类。

好处,当然是有时候会令代码显得简洁,至少你不需要为此重新派生一个新的Thread/Runnable子类空哪。像这样:
class MyThread() {
public void run() {
System.out.println(getClass().getName());
}
}

如果每一个工程中都取消使用匿名类的话,那这个工程内部的结构一定超乎想象的复杂。

这应该算是它的优点吧。

但是,它的缺点也应该算是很明显吧。你第一遍的时候有看明白头上举嫌的例子了么?尤其是当它不停的引用外部类和父类的成员方法/属性时,将会是一团糟。我相信没有一个程序员愿意读那样的代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊晓宇
2013-03-28
知道答主
回答量:65
采纳率:0%
帮助的人:17.4万
展开全部
举一个比较极端的例子:
Thread t = new Thread ( new Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
});
其中的
Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
}
就是一个嵌套声明的匿名类。
好处,当然是有时候会令代码显得简洁,至少你不需要为此重新派生一个新的Thread/Runnable子类。像这样:
class MyThread() {
public void run() {
System.out.println(getClass().getName());
}
}
如果每一个工程中都取消使用匿名类的话,亮前那这个工程内部的结敬早清构一定超乎想象的复杂。
这应该算是它的优点吧。
但是,它的缺点也应该算是很明显吧。你第一遍的时候有看明白头上的例子了么?尤其是当它不停的引用外部类和父类的成员方法/属性时,将会是一团糟。我相信没有一个程序员愿意读那样的代睁余码。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式