我无法理解以下代码的含义:

var fib = require('algorithms.js').Math.fibonacci;


我看到这是将'algorithms.js'存储在名为fib的变量中,但是'.Math.fibonacci;'是什么呢?意思?

完整资料:https://github.com/felipernb/algorithms.js/wiki/Fibonacci

最佳答案

require函数读取一个外部文件作为JavaScript模块。它基于CommonJS(http://wiki.commonjs.org/wiki/Modules/1.1)中描述的模块概念,目前已在lo中实现

简而言之,require()创建将模块作为对象提供。 .Math.fibonacci访问属性Math和子属性fibonacci本身是一个函数。因此,毕竟这只是访问该函数的一种较短方法:

// only loads the JavaScript module
var algorithms = require('algorithms.js');
// calls the function with the fully qualified name:
algorithms.Math.fibonacci(10);

// decalare an abreviation for the function:
var fib = algorithms.Math.fibonacci;
// now you can call:
fib(10);

10-08 06:22