Javascript 我发现脚本可以每秒更改背景色,但我不';我不明白它是怎么工作的。谁能告诉我它是怎么工作的吗? var myVar=setInterval(函数(){setColor()},1000); 函数setColor(){ var x=document.body; x、 style.backgroundColor=x.style.backgroundColor==“黄色”?“粉色”:“黄色”; }

Javascript 我发现脚本可以每秒更改背景色,但我不';我不明白它是怎么工作的。谁能告诉我它是怎么工作的吗? var myVar=setInterval(函数(){setColor()},1000); 函数setColor(){ var x=document.body; x、 style.backgroundColor=x.style.backgroundColor==“黄色”?“粉色”:“黄色”; },javascript,Javascript,这部分我不明白: x.style.backgroundColor==“黄色”?“粉色”:“黄色” 我尝试添加如下颜色: x.style.backgroundColor==“黄色”?“粉色”:“蓝色”:“黄色” 但是脚本不起作用。这是一个三元运算符 x?y:z 如果x,那么y,否则z 在您的例子中,它表示如果颜色是黄色,那么将其更改为粉红色,否则将其更改为黄色。它会使它来回移动 您可以嵌套三元运算符,但语法有点难以理解。最好将代码重构为类似这样的内容,以添加其他颜色: 变量颜色=[“黄色”、“粉色

这部分我不明白:
x.style.backgroundColor==“黄色”?“粉色”:“黄色”
我尝试添加如下颜色:
x.style.backgroundColor==“黄色”?“粉色”:“蓝色”:“黄色”

但是脚本不起作用。

这是一个三元运算符

x?y:z

如果x,那么y,否则z

在您的例子中,它表示如果颜色是黄色,那么将其更改为粉红色,否则将其更改为黄色。它会使它来回移动

您可以嵌套三元运算符,但语法有点难以理解。最好将代码重构为类似这样的内容,以添加其他颜色:

变量颜色=[“黄色”、“粉色”、“蓝色”]

x、 style.backgroundColor=colors[Math.floor(Math.random()*colors.length)]

希望能帮助你

<script>
var myVar = setInterval(function(){setColor()},1000);
function setColor(){
var x = document.body;
x.style.backgroundColor = x.style.backgroundColor == "yellow"?"pink":"yellow";
}
</script>
改为

x.style.backgroundColor = x.style.backgroundColor == "yellow"?"pink":"blue":"yellow"; 

你在哪里找到的?为什么没有解释?你试过问作者吗?我在一些android应用程序中找到了,但没有解释。刚才写了如何每秒更改背景。实际上它只是说
“pink”
,如:
“yellow”?“pink”:“yellow”==“pink”
。由于
“yellow”
总是
true
@SpencerWieczorek:不,您错过了前面的比较运算符。条件是
x.style.backgroundColor==“黄色”
,而不是
“黄色”
@Amadan啊,你的权利,我以为那是一个任务。@SpencerWieczorek:也有一个任务。我想这很容易错过,因为它几乎完全重复:
x.style.backgroundColor=x.style.backgroundColor==
,就像程序员口吃的那样:P
x.style.backgroundColor = x.style.backgroundColor == "yellow"?"pink":(x.style.backgroundColor =="pink"?"blue":"yellow");