从函数返回函数的目的是什么? [英] What's the purpose of returning a function from a function?

查看:99
本文介绍了从函数返回函数的目的是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

阅读一些遗留代码,找到

Reading some legacy code, and found

A.prototype.setSize: function () {
   var v1 = new Vector2();
   return function (size ) {

     var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
     this.min.sub( halfSize );
     return this;

   };

}(),

我想知道:


  1. 为什么将setSize定义为返回另一个函数的函数

  2. 此外,定义的函数也会立即执行。

有什么亮点吗?

更新:

我可以简单地使用

   A.prototype.setSize: function (size) {
       var v1 = new Vector2();

       var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
       this.min.sub( halfSize );
       return this;

    },

第一个片段比第二个好吗?

Is the first snippet better than second?

推荐答案


  1. 因此返回的函数可以访问 v1的值每次调用它而不使 v1 全局(或非私有)

  2. 这样返回的函数是分配给 setSize

  1. So the returned function can access the value of v1 each time it is called without making v1 a global (or otherwise non-private)
  2. That is so the returned function is assigned to setSize

这篇关于从函数返回函数的目的是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆