我试图弄清楚空是什么{}
意思。
var $sb = $sb || {};
这是否意味着变量 $sb 的值要么被复制到自身,要么是一个函数文字?
完整的上下文:
var $sb = $sb || {};
$sb.xxx = function() {
// code
}
我试图弄清楚空是什么{}
意思。
var $sb = $sb || {};
这是否意味着变量 $sb 的值要么被复制到自身,要么是一个函数文字?
完整的上下文:
var $sb = $sb || {};
$sb.xxx = function() {
// code
}
这是快捷方式
new Object()
所以这条线
var $sb = $sb || {};
将检查变量是否$sb
存在,如果不存在则创建新对象并将其分配给$sb
变量。
所以用其他方式你可以这样写:
if( !$sb ) {
var $sb = new Object();
}
var a = {}
称为对象字面量表示法。它比它更快,var a = new Object()
因为它不需要范围解析(即您可以定义一个具有相同名称的构造函数,因此 JavaScript 引擎必须进行这样的查找)。
该模式var a = a || {};
用于避免a
在您已经定义的情况下进行替换a
。在此模式中,或运算符:||
用作合并运算符。if a
is null
orundefined
它将执行语句右侧的表达式:{}
使用此模式可确保您a
始终将其定义为,object
并且如果它已经存在,则不会被覆盖。
这是一个对象字面量。像:
var obj = { x: 4, y: 2 };
只有没有属性:
var obj = {};
如果计算结果||
为非假值,则运算符返回第一个操作数,否则返回第二个操作数。所以表达式$sb || {};
返回$sb
如果它存在的值,否则它创建一个新的空对象。
它是的缩写new Object()
它的简称:
new Object()
在这种情况下,这意味着$sb
将设置为它自己的值,或者设置为一个新的、空的对象,以防$sb
是undefined
。