Javascript 共通;功能
我使用的是符合CommonJS标准的反草稿加载程序。我试图了解一切是如何运作的,但现在我需要一些建议 假设我想得到一个时间戳,我这样做:Javascript 共通;功能,javascript,require,commonjs,Javascript,Require,Commonjs,我使用的是符合CommonJS标准的反草稿加载程序。我试图了解一切是如何运作的,但现在我需要一些建议 假设我想得到一个时间戳,我这样做: define(function(){ return (new Date()).getTime() }); 然后我执行一个简单的require并尝试运行它: require(['timestamp'],function(timestamp) { console.log(timestamp()) console.log(timestamp
define(function(){
return (new Date()).getTime()
});
然后我执行一个简单的require并尝试运行它:
require(['timestamp'],function(timestamp) {
console.log(timestamp())
console.log(timestamp())
console.log(timestamp())
}
现在我得到的是相同的时间戳,从计算时间戳函数的时候算起,是3次。define()是否自动执行闭包,或者发生了什么
我正在学习函数式编程,因此不了解如何实现这些可重用的小函数有点妨碍了我的工作:)这与函数式编程无关。这是关于CJS模块的定义
在上面的示例中,在您需要“timestamp”模块之后,Backdraft loader(假设它与RequireJS的工作原理相同,因为我不知道Backdraft)将帮助创建新的时间戳并缓存它。所以每次你调用这个函数。它返回相同的值。这与函数编程无关。这是关于CJS模块的定义 在上面的示例中,在您需要“timestamp”模块之后,Backdraft loader(假设它与RequireJS的工作原理相同,因为我不知道Backdraft)将帮助创建新的时间戳并缓存它。所以每次你调用这个函数。它返回相同的值