我是中级 javascript 开发人员,试图了解 javascript 开发人员如何编写他们的代码,我决定开始研究 Backbone 库作为起点。
这是骨干网中初始设置的一些代码片段,请帮助我理解它。
代码1 -
(function(){
var root = this;
}).call(this);
是否有任何特定原因使用调用方法而不是简单地使用(),或者它只是一种编码偏好,如果我必须编写相同的代码,我会做这样的事情。
(function(root){
})(this);
代码2 -
var Backbone;
if (typeof exports !== 'undefined') {
Backbone = exports;
} else {
Backbone = root.Backbone = {};
}
现在在全局范围内没有导出的定义,也没有在本地范围内的任何地方定义,那么如果我正在编写相同的代码,那么如果块在这里做什么,我会写
var Backbone = root.Backbone = {};
代码 3
var _ = root._;
if (!_ && (typeof require !== 'undefined')) _ = require('underscore')._;
再次,我在本地或全局范围内的任何地方都找不到 require 的定义