gpt4 book ai didi

javascript - 解释全局命名空间的声明

转载 作者:行者123 更新时间:2023-12-01 02:21:47 24 4
gpt4 key购买 nike

我在脚本顶部经常看到这个,但我不完全确定它的含义,有人能解释一下吗?

var whatevername = whatevername || {};

最佳答案

它使用 OR 运算符来设置默认值。如果 whatevername 已经设置,它将被使用,否则将使用一个新的空对象。

一个例子:

function sayHi(options){
options = options || {};
if (options.useAlert){
alert("hi");
} else {
console.log("hi");
}
}

在这种情况下,您始终可以使用选项参数,即使它没有传递给函数:

sayHi(); 
sayHi({"useAlert": true});

在第一种情况下,将使用 {} 并且 options.useAlert 将未定义。在 if 语句中,与设置为 false 相同,并且 console.log 将用于打印。

OR 运算符通常这样使用:

if (hasAnEmailAddress || hasAPhoneNumber) {contactPerson()}

如果hasAnEmailAddress为true,运算符(operator)将返回hasAnEmailAddress的值,而不是hasAPhoneNumber。如果第二个参数的值不为 true,则将返回 hasAPhoneNumber

在设置默认值时使用该逻辑:如果第一个参数为假,则返回第二个参数 - 即使它不是 bool 值。

关于javascript - 解释全局命名空间的声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com