do ((context, lib)->
console.log context
console.log lib
)(this, (context, lib)->
console.log context
lib_ = context.lib
lib.version = '0.1'
return lib
)
我希望能够使用amd或lib
对象加载window
。
我设法得到想要的结果,但由于最后一组的挑剔而导致错误()
生成的JavaScript代码:
(function(context, lib) {
console.log(context);
return console.log(lib);
})(this, function(context, lib) {
console.log(context);
var lib_ = context.lib;
lib.version = '0.1';
return lib;
})(); // this last set of paranteses cause an error
我尝试编写CoffeeScript以这种方式生成JS :(没有成功)
(function(context, lib) {
console.log(context);
return console.log(lib);
}(this, function(context, lib) {
console.log(context);
var lib_ = context.lib;
lib.version = '0.1';
return lib;
}));
据我所知,在CoffeeScript中编写JS代码可以绕过这个问题,但我希望这是最后一个选项。
答案 0 :(得分:1)
如果从第一行删除do
,则输出如下所示:
(function(context, lib) {
console.log(context);
return console.log(lib);
})(this, function(context, lib) {
var lib_;
console.log(context);
lib_ = context.lib;
lib.version = '0.1';
return lib;
});
所以, CS :
((context, lib)->
console.log context
console.log lib
)(this, (context, lib)->
console.log context
lib_ = context.lib
lib.version = '0.1'
return lib
)