googlescript/JavaScript:这在对象之后做什么:(Objectname | |{});
我正在读一本关于Google脚本的书,不理解语法,也不理解函数关闭后最后一行完成了什么(在这里之间)。我应该把它理解为:Objectname还是空的object括号?这可能意味着什么googlescript/JavaScript:这在对象之后做什么:(Objectname | |{});,javascript,Javascript,我正在读一本关于Google脚本的书,不理解语法,也不理解函数关闭后最后一行完成了什么(在这里之间)。我应该把它理解为:Objectname还是空的object括号?这可能意味着什么 var Objectname = (function (parameter) { //additional scripting omitted here return parameter; }) (Objectname || {}); //I don't understand the purpose
var Objectname = (function (parameter) {
//additional scripting omitted here
return parameter;
}) (Objectname || {}); //I don't understand the purpose of this final statement: (Objectname || {})
()
调用它前面的函数
Objectname | |{}
是参数列表
|
是OR运算符。如果左侧为true,则计算结果为左侧,否则计算结果为右侧
如果你删除了所有的速记,你会得到大致如下的结果(它创建了一个额外的全局变量):
function initialise_objectname(parameter) {
// ...
return parameter;
}
var Objectname;
if (Objectname) {
Objectname = initialise_objectname(Objectname);
} else {
Objectname = initialise_objectname({});
}
下面是一个例子:
var hello = false;
var test = hello || 123;
//test == 123 because hello == false
例2:
var hello = true;
var test = hello || 123;
//test == true because hello == true
有道理吗?如果左侧为true,则会将其设置为true,否则会拾取另一侧。大量重复项,例如。请使用搜索!我猜这是因为人们大多使用谷歌搜索任何地方,而不是合适的搜索引擎,而且谷歌不接受像这样的特殊标点问题。我可以发誓我已经看过两天前的问题了。Stackoverflow的搜索引擎也忽略了“特殊符号”?编辑,无法发布@vove:Stack Overflow在这方面做得更好。无论是哪种方式,因为它通常有助于搜索操作员的名称或描述其外观:,