我无法理解以下代码的含义:
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);