我很难理解以下代码的含义:
var fib = require('algorithms.js').Math.fibonacci;我看到这是将'algorithms.js‘存储在一个名为fib的变量中,但是'.Math.fibonacci;’是什么意思呢?
资料来源:https://github.com/felipernb/algorithms.js/wiki/Fibonacci
发布于 2014-05-30 12:45:34
require函数将外部文件读取为JavaScript模块。它基于CommonJS (http://wiki.commonjs.org/wiki/Modules/1.1)中描述的模块概念,目前在lo中实现
简而言之,require() creates将模块作为对象提供。.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);发布于 2014-05-30 12:32:08
编辑
正如您可以在源代码中看到的那样
var fib = require('algorithms.js').Math.fibonacci;将将由fibExponential对象函数导出并定义为algorithms.js的Math.fibonacci对象存储在var fib中。
我建议您所需更好地了解脚本加载程序的工作方式。
https://stackoverflow.com/questions/23954553
复制相似问题