我正在读一本关于谷歌脚本的书,不明白语法或函数关闭后最后一行(在这里之间)完成的工作。我应该把它读成:对象名还是空对象括号?这可能意味着什么?
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
意义?如果左手边为真,它会将其设置为该,否则它将选择另一边。