标签: anonymous-function

匿名类实例----这是个坏主意吗?

在ES6中我们可以做匿名类:

var entity = class {
}
Run Code Online (Sandbox Code Playgroud)

但我们也可以实例化它:

var entity = new class {
    constructor(name) { this.name = name; }
    getName() { return this.name; }
}('Foo');
console.log(entity.getName()); // Foo
Run Code Online (Sandbox Code Playgroud)

背后做了什么,它带来了什么好处以及它带来了什么警告?

javascript oop anonymous-function javascript-objects ecmascript-6

24
推荐指数
2
解决办法
1万
查看次数

是否可以在Scala中指定匿名函数的返回类型?

我知道你可以创建一个匿名函数,让编译器推断它的返回类型:

val x = () => { System.currentTimeMillis }
Run Code Online (Sandbox Code Playgroud)

仅为了静态类型,是否可以指定其返回类型?我认为这会让事情变得更加清晰.

scala static-typing anonymous-function

23
推荐指数
3
解决办法
1万
查看次数

Scala强调最小功能

让我们为这个问题创建一个值:

val a = 1 :: Nil
Run Code Online (Sandbox Code Playgroud)

现在,我可以证明匿名函数可以用这样的简写形式编写:

a.map(_*2)
Run Code Online (Sandbox Code Playgroud)

是否有可能写出这个功能的简写?:

a.map((x) => x)
Run Code Online (Sandbox Code Playgroud)

我的解决方案不起作用:

a.map(_)
Run Code Online (Sandbox Code Playgroud)

scala anonymous-function

23
推荐指数
3
解决办法
5756
查看次数

通缉:一个匿名函数返回1个以上输出的Matlab示例

我使用匿名函数进行简单的数据值转换.匿名函数使用以下语法定义

sqr = @(x) x.^2;
Run Code Online (Sandbox Code Playgroud)

我想有一个简单的匿名函数,它返回多个输出,可以按如下方式使用...

[b,a] = myAnonymousFunc(x);
Run Code Online (Sandbox Code Playgroud)

Matlab文档表明这是可能的,但它没有给出定义这样一个函数所需语法的示例.

http://www.mathworks.co.uk/help/techdoc/matlab_prog/f4-70115.html#f4-71162

定义这样一个函数的语法是什么[ 在一行中,就像我帖子顶部的代码示例 ]?

matlab arguments function anonymous-function

23
推荐指数
3
解决办法
6230
查看次数

如何通过值将变量传递给匿名javascript函数?

目标

我想动态地将事件处理程序分配给整个站点的页面上的某些div.

我的方法

我使用jQuery绑定匿名函数作为选定div事件的处理程序.

问题

代码迭代div名称和相关URL的数组.div名称用于设置绑定目标,即将此事件处理程序附加到此div事件.

当事件处理程序成功绑定到每个div事件时,由这些事件处理程序触发的操作只会定位到数组中的最后一项.

所以我的想法是,如果用户将鼠标放在给定的div上,它应该为该div运行一个滑出动画.但相反,鼠标悬停在div1(rangeTabAll)上会触发div4的滑出动画(rangeTabThm).对于div 2,3等也是如此.顺序并不重要.更改数组元素,事件将始终以数组div4中的最后一个元素为目标.

我的代码 - (使用jQuery)

var curTab, curDiv;
var inlineRangeNavUrls=[['rangeTabAll','range_all.html'],['rangeTabRem','range_remedial.html'],
                ['rangeTabGym','range_gym.html'],['rangeTabThm','range_thermal.html']];
        for (var i=0;i<inlineRangeNavUrls.length;i++)
        {
            curTab=(inlineRangeNavUrls[i][0]).toString();
            curDiv='#' + curTab;
            if  ($(curDiv).length)
            {
                $(curDiv).bind("mouseover", function(){showHideRangeSlidingTabs(curTab, true);} );
                $(curDiv).bind("mouseout", function(){showHideRangeSlidingTabs(curTab, false);} );
            }
        }
Run Code Online (Sandbox Code Playgroud)

我的理论

我要么没有看到一个令人眼花缭乱的语法错误或它的引用问题.最初我有以下语句来设置curTab的值:

curTab=inlineRangeNavUrls[i][0];
Run Code Online (Sandbox Code Playgroud)

因此,当发生问题我计算过,我改变了(通过for循环迭代)的参考curTab,我实际上改变了以前所有的匿名函数事件处理新curTab价值,以及参考....这是为什么事件处理程序始终以最后一个div为目标.

所以我真正需要做的是将curTab 传递给匿名函数事件处理程序而不是curTab 对象引用.

所以我认为:

curTab=(inlineRangeNavUrls[i][0]).toString();
Run Code Online (Sandbox Code Playgroud)

会解决问题,但事实并非如此.同样的交易.所以很明显我错过了关于这个问题的一些关键,也许是非常基本的知识.谢谢.

javascript closures anonymous-function pass-by-reference pass-by-value

22
推荐指数
2
解决办法
2万
查看次数

(function(){...}())之间有区别吗?和(function(){...})();?

可能重复:
自动执行匿名JavaScript函数的括号位置?

有时我看到:

(function() { ... }()); 
Run Code Online (Sandbox Code Playgroud)

有时我看到:

(function() { ... })(); 
Run Code Online (Sandbox Code Playgroud)

我看到有和没有参数的两种形式.它们 执行匿名功能.

这两种形式有区别吗?是否有任何令人信服的理由使用一种形式而不是另一种形式?

javascript anonymous-function

22
推荐指数
2
解决办法
3877
查看次数

Ruby:lambda函数参数可以有默认值吗?

我想做类似的事情:

def creator()
        return lambda { |arg1, arg2 = nil|
                puts arg1
                if(arg2 != nil)
                        puts arg2
                end
        }
end

test = creator()

test('lol')
test('lol', 'rofl')
Run Code Online (Sandbox Code Playgroud)

我收到一些语法错误:

test.rb:2: syntax error
        return lambda { |arg1, arg2 = nil|
                                 ^
test.rb:3: syntax error
test.rb:7: syntax error
test.rb:14: syntax error
Run Code Online (Sandbox Code Playgroud)

红宝石有可能吗?我想将参数的默认值设置为lambda函数

ruby parameters lambda anonymous-function default-value

22
推荐指数
2
解决办法
1万
查看次数

我可以在JSON中存储RegExp和Function吗?

鉴于这样的块:

var foo = {"regexp":/^http:\/\//,
           "fun":function(){},
}
Run Code Online (Sandbox Code Playgroud)

将它存储在JSON中的正确方法是什么?

javascript regex serialization json anonymous-function

22
推荐指数
5
解决办法
3万
查看次数

Javascript arguments.callee它的用途是什么

我还没有找到这个变量的任何完整的跨浏览器文档.

什么是arguments.callee?它是如何工作的?

它有哪些论据?

javascript anonymous-function

22
推荐指数
2
解决办法
2万
查看次数

如何在C#中调用匿名函数?

我感兴趣的是,如果可以使用C#编写类似于这个Javascript的代码:

var v = (function()
{
    return "some value";
})()
Run Code Online (Sandbox Code Playgroud)

我能做的最多是:

Func<string> vf = () =>
{
    return "some value";
};

var v = vf();
Run Code Online (Sandbox Code Playgroud)

但是我想要这样的东西:

// Gives error CS0149: Method name expected
var v = (() =>
{
    return "some value";
})();
Run Code Online (Sandbox Code Playgroud)

有没有办法调用函数让它匿名?

c# anonymous-function

21
推荐指数
1
解决办法
1万
查看次数