我无法理解以下代码的含义:
var fib = require('algorithms.js').Math.fibonacci;
我看到这是在名为fib的var中存储'algorithms.js'但是'.Math.fibonacci;'是什么意思?
完整来源:https://github.com/felipernb/algorithms.js/wiki/Fibonacci
答案 0 :(得分:2)
require函数将外部文件读取为JavaScript模块。它基于CommonJS(http://wiki.commonjs.org/wiki/Modules/1.1)中描述的模块概念,目前在lo
中实现简而言之require()
created将模块作为对象提供。 .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);
答案 1 :(得分:1)
修改强>
您可以在source code
中阅读var fib = require('algorithms.js').Math.fibonacci;
将存储在变异对象函数导出的Math.fibonacci
对象中,并定义为 algorithms.js
我建议你requirejs更好地了解脚本加载器的工作原理