标签: anonymous-function

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

detachEvent不使用命名内联函数

我今天在IE8中遇到了一个问题(注意我只需要支持IE)我似乎无法解释:使用命名的匿名函数处理程序时detachEvent不起作用.

document.getElementById('iframeid').attachEvent("onreadystatechange", function onIframeReadyStateChange() {
    if (event.srcElement.readyState != "complete") { return; }

    event.srcElement.detachEvent("onreadystatechange", onIframeReadyStateChange); 

    // code here was running every time my iframe's readyState 
    // changed to "complete" instead of only the first time
});
Run Code Online (Sandbox Code Playgroud)

我最终发现改变onIframeReadyStateChange以使用arguments.callee(我通常会避免)而不是解决了这个问题:

document.getElementById('iframeid').attachEvent("onreadystatechange", function () {
    if (event.srcElement.readyState != "complete") { return; }

    event.srcElement.detachEvent("onreadystatechange", arguments.callee);    

    // code here now runs only once no matter how many times the 
    // iframe's readyState changes to "complete"
});
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?!第一个代码段不应该正常工作吗?

javascript internet-explorer anonymous-function javascript-events

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

Javascript中setTimeout和匿名函数的问题

为什么这在Firebug控制台中不起作用:

function(s,e) {
setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
}
Run Code Online (Sandbox Code Playgroud)

虽然这样做:

setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
Run Code Online (Sandbox Code Playgroud)

javascript anonymous-function

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

在调用Perl子例程时如何传递匿名子例程?

mysub 获取子例程引用作为其第一个参数.

我可以直接打电话mysub(sub{some subroutine body here})吗?即在通话时定义一个匿名子程序?

语法是否正确(是否真的是对它的引用sub传递)?

perl arguments anonymous-function

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

匿名函数中的JavaScript上下文

我想将一个函数设置为数组中每个元素的属性,但是使用不同的参数调用它.我以为我会用匿名函数解决它:

for ( var i = 0; i < object_count; i++ ) {
    objects[i].callback = function(e,x,y){ cb(e,x,y,i) };
}
Run Code Online (Sandbox Code Playgroud)

但是,使用当时具有的值调用该函数i.我如何保留上下文?

javascript scope anonymous-function

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

使用Scala函数而不是类似Java回调的匿名对象

Java风格的匿名回调包括相对多的样板,并且不能阅读.有类似的东西会很高兴

workExpression
Run Code Online (Sandbox Code Playgroud)

代替

new SomeIF {
    @Override public someType doRun() {
        return workExpression
    }
}
Run Code Online (Sandbox Code Playgroud)

有哪些可能的解决方案?

java scala callback anonymous-function

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

成功和失败函数参数Scala模式

Scala中是否有成功和失败关闭的替代模式?

这个约定与node.js库通常做的类似,但是我只是想知道在Scala中是否有另一种方法可以做到这一点.

例如:

def performAsyncAction(n: BigInt,
                success: (BigInt) => Unit,
                failure: FunctionTypes.Failure): Unit = {
Run Code Online (Sandbox Code Playgroud)

然后调用该函数

performAsyncAction(10,
         {(x: BigInt) => 
              /* Code... */
         }, 
         {(t: Throwable) => 
              e.printStackTrace()
         })
Run Code Online (Sandbox Code Playgroud)

谢谢

closures scala anonymous-function function-parameter

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

修改自执行函数中的参数

我希望能够修改传递给自执行函数的参数.

以下是一些示例代码:

var test = 'start';
(function (t) {t = 'end'} )(test);
alert(test) //alerts 'test'
Run Code Online (Sandbox Code Playgroud)

这里是一个小提琴.变量test没有改变.我怎样才能改变它,就像传递参考一样?

javascript anonymous-function pass-by-reference self-executing-function

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

如何将值传递给Task.Factory中的anonym方法

我正在使用这样的结构:

string myurl = "http://google.de";
Task.Factory.StartNew(() =>
{
   MessageBox.Show(url);
});
Run Code Online (Sandbox Code Playgroud)

如何将myurl传递给匿名函数?

c# parameters task anonymous-function parameter-passing

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

封闭块中的变量在匿名函数中变为空

var client = new WebClient();
var bytes = client.DownloadData(webUrl); <-- NOT null

Application.Current.Dispatcher.BeginInvoke(new Action(() =>
{
    BitmapImage img = new BitmapImage();
    img.BeginInit();
    img.StreamSource = new MemoryStream(bytes); <-- null
    img.EndInit();
    img_DownloadCompleted(img, webUrl);
}));
Run Code Online (Sandbox Code Playgroud)

上述代码在线程中执行,以避免阻止UI.

我试图将图像从互联网下载到BitmapImage对象中.图像下载正确,但当我尝试在我的UI(使用Dispatcher.Invoke)中使用它时,我收到此错误消息:The calling thread cannot access this object because a different thread owns it.

所以我添加了在UI线程上创建图像的代码.但是现在,当代码到达<-- null变量bytes所指示的行时突然变为空.在执行进入匿名函数之前它不为null.(我查看了调试器)

有人知道为什么吗?谷歌不是很有帮助.

更改变量类型的bytes,以var不作任何区别.

c# wpf null multithreading anonymous-function

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