标签: anonymous-function

匿名函数的用处

为什么不编写匿名函数内容而不是匿名函数和匿名函数内容?

lambda anonymous-function

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

使用异步XMLHttpRequest加载XML文件数组

我想加载一个XML文件数组,并将它们存储在一个数组中.

代码示例:

var src = [ "a", "b", "c", "d" ];
var dest = {};
for (var i in src) {
    var req = new XMLHttpRequest();
    req.open("GET", src[i], true);
    req.onreadystatechange = function(aEvt) {
        if (req.readyState == 4) {
            if (req.status == 200) {
                dump(i + "\n");
                dest[i] = req.responseXML;
            }
        }
    }
    req.send(null);
}
Run Code Online (Sandbox Code Playgroud)

但是,转储结果总是如此

3

3

3

3

它表明i回调中引用的内容始终是外部的i,因此无法正确存储XML文件.

那么,如何解决这个问题呢?我们有大约50个XML文件要加载并逐个加载它们是不可接受的.

谢谢.

javascript ajax anonymous-function

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

jQuery插件调用内部函数

我想在内部调用removeSomething()(参见第9行):

JS代码是:

    (function($){
      $.fn.extend({
        Engine: function(options) {
          var defaults = {
           ...
          };
          var options = $.extend(defaults, options);

          removeSomething();

          //-----------------------------------------------------------------------
          //Public Functions ------------------------------------------------------
          //-----------------------------------------------------------------------

          this.removeSomething = function() {
            ...
          }; 
        }
      });
   })(jQuery);
Run Code Online (Sandbox Code Playgroud)

但是,如果我调用removeSomething控制台输出removeSomething不是一个函数,我该怎么调用这个函数?该功能应该在内部和外部可用.

感谢帮助!

javascript jquery anonymous-function jquery-plugins

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

理解对象文字中的JavaScript匿名与命名函数

为什么在任何动画开始之前,第一个动画的"完整"回调是先发生的?

脚本:

$( "#animate" ).delay(2000).animate(
    { "width":    "500px" },
    { "duration": 3000,
      "complete": function(){ $( "#animate" ).append( "1st<br />" ); }}
)
.delay(1000).animate(
    { "width":    "200px" },
    { "duration": 3000,
      "complete": function(){ complete( "2nd" ); }}
)
.delay(1000).animate(
    { "width":    "500px" },
    { "duration": 3000,
      "complete": complete( "3rd" ) }
);

function complete( ordinal ){
    $( "#animate" ).append( ordinal + "<br />" );
};
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="animate" />
Run Code Online (Sandbox Code Playgroud)

CSS:

#animate
{
    border: 1px solid red;
    height: 200px;
    width:  200px;
} …
Run Code Online (Sandbox Code Playgroud)

javascript jquery anonymous-function

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

递归匿名函数的StackOverflowException

我正在尝试编写一个函数来检查字符串是否是回文,并使用此示例,我试图使用递归匿名函数来反转字符串:

static Boolean checkPalindromeAnonRec(string str)
{
    str = str.ToLower().Replace(" ", String.Empty);
    Func<string, string> revStr = null;
    revStr = delegate(string s) 
      { 
        if (s.Length > 1) 
          { return revStr(s) + s[0]; } 
        else 
        { return s; } 
      };

    return (str == revStr(str));
}
Run Code Online (Sandbox Code Playgroud)

但是每次我跑它都会得到一个StackOverflowException.对我来说,为什么,任何想法都不明显?

c# stack-overflow recursion anonymous-function

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

Laravel Eager Load具有动态约束

任何人都可以帮助我理解为什么以下代码工作

$x = $widget->objGallery->galleryItems()->with(array('captions' => function($query){ $query->where('locale', 'IT' );}))->get() ;
Run Code Online (Sandbox Code Playgroud)

但是当我使用动态值时

$id='11';
$x = $widget->objGallery->galleryItems()->with(array('captions' => function($query){ $query->where('locale', $id );}))->get() ;
Run Code Online (Sandbox Code Playgroud)

在说

方法Illuminate\View\View :: __ toString()不得抛出异常

php closures anonymous-function eager-loading laravel

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

匿名函数中参数块的用途是什么

在这个例子中:

$foo = function () use (){
//     ^---------^ what is the use?

}
Run Code Online (Sandbox Code Playgroud)

除此之外,我们可以使用该use ()部件将数据导入到函数中,就像常规函数一样:

function bar ($foo){

}
Run Code Online (Sandbox Code Playgroud)

但我不明白这function ()部分可以用于什么?

php anonymous-function

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

如何在不使用Eval的情况下调用匿名函数?

我有一个自动完成功能,回调数据返回.许多不同的实例都使用此自动完成功能.

$.fn.acItem = function(callback){
  var self = this;
  $(self).autocomplete({
    (...)
    select: function(e, ui){
      // Eval for calling anonymous function (right?)
      window[callback](ui.item);
    }
  });
};
Run Code Online (Sandbox Code Playgroud)

我也在使用命名空间

var Agency = {
  init: function() {
    var self = this;
    self.registerAgency.addItem();
  },

  registerAgency: {
  (...)
    addItem: function(item){
      if(!item){
        (...)
        // Initiate autocomplete on input
        $('.search-item').acItem('Agency.registerAgency.addItem');
      } else {   
        // Do something with Item
      }
    }
}

Agency.init();
Run Code Online (Sandbox Code Playgroud)

window[callback](ui.item)如果我没有使用命名空间,请使用作品.但是对于命名空间,它会变得有点复杂,如Jason Bunting描述的那样.

由于使用了不同的命名空间acItem(),因此需要知道在回调中调用哪个函数.但许多人强烈反对使用Eval来调用匿名函数.

那么对匿名函数进行回调的好方法是什么?

javascript eval callback anonymous-function

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

为什么lambda函数不会引入与goto语句类似的问题?

在我的c#书中,它写着:"=> lambda运算符(读作'转到')."

我一直想知道goto和lambda表达在良好的编码实践方面有什么区别.如果由于可能存在复杂的代码而避免使用goto,那么lambda表达式是否也会导致同样的问题呢?更一般地说,为什么我非常鼓励使用lambda函数,而我非常不鼓励使用goto?(即我已经掌握了为什么goto不受欢迎,但为什么lambda函数不是因为类似的原因而不受欢迎?)

我唯一的猜测是lambda函数评估并返回一些东西,因为我们不知道goto可能会做什么.这至少应该使lambda函数更容易测试,因为它们更符合有组织的,面向对象的代码的思想.

c# lambda goto anonymous-function

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

将clojure`defn`重构为`fn`会导致ClassCastException

我正在研究4clojure的Prime Numbers kata.我的解决方案在我的本地机器上运行得非常好(如果效率低下),但它依赖defn于4clojure 上的禁止.

(defn factors [n]
  (->> n
       range
       (map inc)
       (filter #(zero? (mod n %)))))

(defn prime? [n]
  (->> (factors n)
       (count)
       (= 2)))

(defn n-primes [n]
  (->> (range)
       (filter prime?)
       (take n)))
Run Code Online (Sandbox Code Playgroud)

我试图重构它只使用匿名函数,但它爆炸了.

(fn x-primes [count]
  (let [x-factors (fn factors [n] (->> n range (map inc) (filter #(zero? (mod n %)))))
         x-prime? (fn [n] (->> (x-factors n) (count) (= 2)))]
        (->> (range)
             (filter x-prime?)
             (take count))))
Run Code Online (Sandbox Code Playgroud)

抛出以下错误(在本地和4clojure的编辑器中运行时)

ClassCastException java.lang.Long无法强制转换为clojure.lang.IFn

我在重构代码时做错了什么?

撇开,为什么你认为4clojure禁令def和 …

refactoring clojure anonymous-function

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