越来越多javascript
的这种模块化方法返回空函数。你可以在源代码中找到它node.js
。它在require.js
. 它有什么作用?
define(['jquery'] , function ($) {
return function() {};
});
如果我要返回一个对象,我会这样做return {};
,尽管我认为返回一个空对象没有用。可能想把变量放进去。因此,这显然是有价值的。我猜它与访问返回函数范围内的函数有关。
这是AMD 不是答案文章中的构造:
define(['dep1', 'dep2'], function (dep1, dep2) {
//Define the module value by returning a value.
return function () {};
});
但是,除了返回您想要返回的语义上有意义的东西(例如在对象中)之外,上述实际好处是什么?
以及如何以这种方式访问外部功能范围内的东西?
function(baz) {
var foo = true,
bar = false;
if (baz) bar = true;
return function() {}; // wut?
};
尽管我在技术上并不完全“受到挑战”,但我希望有人可以用外行的方式来解释这一点,因为关于模块化的文章并不能让我高兴。