定义一个函数然后添加属性?

时间:2015-02-23 16:27:15

标签: javascript

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

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:{}});

这有什么用?这是一个好习惯吗?为什么他们不回归物体?

1 个答案:

答案 0 :(得分:0)

  

这有什么用?

您已经在该用法示例中证明了自己。

  

这是一个好习惯吗?

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

  

为什么他们不归还对象?

他们这样做,但他们想要一个可调用的对象。