В вашем вопросе ваша функция не имеет параметров.В реальной реализации, я надеюсь, вы планируете использовать их.
const cycleBackground = (elem, bgs = [], ms = 1e3, i = 0) =>
( elem.setAttribute ('style', bgs[i])
, setTimeout
( cycleBackground // function to schedule
, ms // when to schedule, ms from now
, elem // user-specified element to change
, bgs // user-specified backgrounds
, ms // user-specified delay
, (i + 1) % bgs.length // next background index
)
)
const backgrounds =
[ "background-color: red;"
, "background-image: linear-gradient(45deg, cyan 0%, purple 75%);"
, "background-color: green;"
]
// call site
cycleBackground
( document.body // element to target
, backgrounds // list of backgrounds
, 3e3 // delay, 3 seconds
)
p {
text-align: center;
font-size: 3vw;
font-weight: bold;
color: white;
}
<p>Wait 3 seconds...</p>