匿名方法或lambda表达式怎么立即执行

.Net技术 码拜 9年前 (2016-03-04) 1630次浏览
RT,就相当于js中的,

(function(){return;})()
解决方案

10

((Action)(() => { }))();

但是意义呢

10

引用 6 楼 x3230835 的回复:
Quote: 引用 4 楼 shingoscar 的回复:

匿名方法或lambda表达式怎么立即执行js之所以要这样写是原因是一个网页里到处都是js,假如不用function来限制作用域,很容易导致变量冲突
假如是写c#。把你要执行的代码放在一对大括号中间就行了,为什么还要用额外的方法括起来?

对于类成员的初始化很方便,特别是有try的

javascript 中声明一个函数就是声明一个类型,“一心二用”,而类型也用来进行“模块化”(正如#4楼所说)。所以声明一个函数之后往往执行它。
在.net/c#,这相当于代码

public class ABC
{
    private static int abc = 123;
    .......
}

只要你声明一个类型(而不是函数),那么在第一次使用到这个类型时就会初始化 ABC.abc 的值。这里就扯不上上么“Lamda、立即执行”的诡异的弯弯绕的概念了。
所以c# 这种 OOPL 语言很“正统”,而javascript相当“邪”。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明匿名方法或lambda表达式怎么立即执行
喜欢 (1)
[1034331897@qq.com]
分享 (0)