gpt4 book ai didi

javascript - 我对这个条件 "value || value"赋值的理解正确吗?

转载 作者:行者123 更新时间:2023-12-01 00:33:09 24 4
gpt4 key购买 nike

我的脚本中有这个片段:

(window.WORLD_CLOCK || (window.WORLD_CLOCK = WORLD_CLOCK))();

注意:在此行之前定义了一个名为 WORLD_CLOCK 的函数。

据我了解,这会检查window对象是否包含名为WORLD_CLOCK的键。如果是 (true),则返回该函数,如果不是 (false),则将 WORLD_CLOCK 分配给 window 并返回 WORLD_CLOCK 函数来自该分配。

外括号捕获此函数,第三对(空)括号调用此函数。

我说得对吗?

如果是的话,我可以用以下内容替换它:

if (typeof WORLD_CLOCK === "function") {
if (!window.hasOwnProperty("WORLD_CLOCK")) {
window.WORLD_CLOCK = WORLD_CLOCK;
}
window.WORLD_CLOCK();
}

谢谢。

最佳答案

我认为你同事的代码假设总是有一个 WORLD_CLOCK 函数,步骤是:

  1. 如果window没有属性WORLD_CLOCK,则将WORLD_CLOCK函数分配给同名的属性
  2. window 对象调用属性 WORLD_CLOCK

所以,也许重写可以是这样的:

if (!window.hasOwnProperty("WORLD_CLOCK") {
window.WORLD_CLOCK = WORLD_CLOCK
}

window.WORLD_CLOCK()

关于javascript - 我对这个条件 "value || value"赋值的理解正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58345639/

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