gpt4 book ai didi

javascript - 无需全局变量即可切换某些内容的简单方法

转载 作者:行者123 更新时间:2023-12-02 17:22:23 28 4
gpt4 key购买 nike

我觉得问这个问题很不好,因为这是一个非常简单的问题。我希望 CycleBackground 函数在 changeBackground("#firstbg", img.src)changeBackground("#secondbg", img.src)

之间交替
    cycleBackground = ()->
img = new Image()
img.src = '/assets/'+Math.floor(Math.random()*50)+'.jpg)'
img.onLoad = ()->
changeBackground("#firstbg", img.src)

我正要创建一个名为“selected”的全局变量并使其等于“#firstbg”,如果选择的是“#firstbg”,则将其更改为“#secondbg”,以便每次调用cycleBackground时,它都会更改尚未更改的元素的背景。我知道这是不好的编码实践,什么是更好的解决方案?

最佳答案

只需在与函数相同的范围内创建一个新变量即可; cycleBackgroundchangeBackground,以哪个为准。这完全没问题。 CoffeeScript 将整个编译文件包装在 IIFE 中并且不会引入任何全局变量,除非您显式地将它们附加到全局对象(例如 window.selected = ...)。

selected = 'first'

cycleBackground = ()->
img = new Image()
img.src = '/assets/'+Math.floor(Math.random()*50)+'.jpg)'
img.onLoad = ()->
selected = (if selected == 'first' then 'second' else 'first')
changeBackground("##{selected}bg", img.src)

关于javascript - 无需全局变量即可切换某些内容的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23813226/

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