如何在 JavaScript 中传递参数,确保它的引用存在

how to pass an argument in javascript making sure it's reference exists

本文关键字:确保 存在 引用 参数 JavaScript      更新时间:2023-09-26

我以前见过这样做,用类似window.foo || {}的东西(我知道它不起作用),但我不记得这是怎么做到的。我想在这种情况下使用它:

(function(foo){
    foo.bar = "bar";
})(window.foo || {});

我该怎么做?

我相信

您正在描述的模式将检查全局窗口对象是否存在属性foo。 如果未找到,它将默认为空对象。 如果需要某种默认值而不仅仅是空对象,则可以为 window.foo 分配一个值:

window.foo || (window.foo = "Gibberish and Goblins, oh my!")

你想要这个:

(function(foo){
    foo.bar = "bar";
})(window.foo || (window.foo = {}));
  • 如果存在window.foo,则获取并将其作为参数传递

  • 或者创建一个新对象window.foo并将其作为参数传递