定义一个函数,然后为其添加属性

Define a function then add properties to it?

本文关键字:然后 添加 属性 函数 一个 定义      更新时间:2024-04-27

我不确定我是否理解以下代码片段(从这里粘贴)。显然,作者创建了一个函数,然后为其分配属性

returnClient = function() {
  var client;
  client = function(href, options) { console.log('client called'); }
  client.parse = function(source, config) { console.log('client.parse called'); }
  return client;
}
//later
var client = returnClient();
//usage 1
client('localhost:9999/users');
//usage 2
client.parse({collection:{}});

这有什么用?这是个好做法吗?他们为什么不归还一个物体?

这有什么用?

您已经在那个用法示例中展示了自己。

这是个好做法吗?

是的,它经常使用。不过,它更常见于构造函数,其中的属性类似于静态类属性。

他们为什么不归还一个物体?

确实如此,但他们想要一个可调用的对象。