我同事的脚本充满了这样的代码:
(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();
}
谢谢。
繁星coding
九州编程
相关分类