我正在努力提高我的一些JS技能。
我有一些十六进制的颜色,这些颜色在一个对象中存储为前景色和背景色。
当网页的宽度是一个特定的大小时,我希望确保不会使用对象中的某些特定颜色来更改文本颜色。
这就是我到目前为止所拥有的。这是有效的,我知道我也可以使用一个开关,但是其他人可以改善if || statemenent吗? fine...and。
var colorThemes = [
// Combo 1:
{ foreground: "#0A1C6B", background: "#5DF0AD" },
// Combo 2:
{ foreground: "#C2F5FF", background: "#0A1C6B" },
// Combo 3:
{ foreground: "#583985", background: "#CCCCF0" },
// Combo 4:
{ foreground: "#FBBEA6", background: "#5839B5" },
// Combo 5:
{ foreground: "#8A350D", background: "#FFDB0D" }
]
var randomnumber = Math.floor((Math.random() * colorThemes.length));
var selector = colorThemes[randomnumber]
if (selector.foreground === "#0A1C6B" || selector.foreground === "#5DF0AD" || selector.foreground === "#C2F5FF" || selector.foreground === "#ABD1fA" || selector.foreground === "#FBBEA6" || selector.foreground === "#FACCD4" || selector.foreground === "#FF5919" || selector.foreground === "#D9F2AD" || selector.foreground === "#83BF25"){
copyCount[i].style.color = selector.background;
}
}'谢谢你
发布于 2017-08-16 22:19:51
不要使用if语句。它们是代码的味道。
var colorThemes = {
"#0A1C6B": "#5DF0AD"
, "#C2F5FF": "#0A1C6B"
, "#583985": "#CCCCF0"
, "#FBBEA6": "#5839B5"
, "#8A350D": "#FFDB0D"
};
var foregroundColors = Object.keys(colorThemes);
var randomForegroundIdx = Math.floor(Math.random() * colorThemes.length);
var randomForeground = foregroundColors[randomForegroundIdx];
copyCount[i].style.color = colorThemes[randomForeground];https://stackoverflow.com/questions/45715489
复制相似问题