骨干源代码中的Javascript语法
Javascript syntax in backbone source code
这段代码是做什么的?
g = "undefined" !== typeof exports ? exports : k.Backbone = {};
简写为:
if("undefined" !== typeof exports)
g = exports;
}else{
g = k.Backbone = {};
}
:?
称为三元算符
如果我这样写可能会更容易读:
g = ("undefined" !== typeof exports) // If
? exports // Then
: k.Backbone = {}; // Else
它将Backbone定义为CommonJS模块,因此它可以加载到CommonJS兼容的环境中,如node.js。
您正在查看缩小的源代码。这是未修改后的样子:
var Backbone;
if (typeof exports !== 'undefined') {
Backbone = exports;
} else {
Backbone = root.Backbone = {};
}
变量exports
是CommonJS模块定义的返回对象。在CommonJS环境中,Backbone
变量被设置为该值,因此Backbone
从模块导出。
如果exports
未定义,则假定代码位于浏览器环境中,并且Backbone
应导出root
对象的属性,该对象指向浏览器的全局作用域window
。
相关文章:
- Javascript语法向设置发出sessionStorage值
- 函数的Javascript语法
- 如何定义const函数javascript(语法糖)
- Onclick不会启动..可能存在javascript语法问题
- 用jquery替换javascript语法
- 在Javascript语法中:和::和:::有什么区别
- 如何以编程方式查找javascript语法错误的位置
- 这个javascript语法有什么问题
- Chrome 中的 JSX/JavaScript 语法
- Javascript语法 - 我做错了什么
- 用于指定元素 ID 的正确 JavaScript 语法是什么
- 这是什么JavaScript语法
- 带有函数的 JavaScript 语法
- 剃刀中的javascript语法错误
- 解析云代码geoPoint查询Javascript语法
- 在Notepad++中更好地突出显示Javascript语法
- 通用Javascript语法查询
- Joomla2.5框架似乎干扰了javascript语法
- 点击切换Divs/JavaScript语法
- 用于将变量传递给函数的javascript语法