我是 JavaScript 新手。我想將條件 If 轉換為三元運算子,但我不知道如何。我留下下面的所有代碼,以防有人可以幫助我。提前致謝。
<body>
<img src="images/animal.jpg" width="200" height="200">
<button onclick="change()" type="button">Change</button>
<script>
let estadoCambio = true;
function change(){
if (!estadoCambio){
document.images[0].src="images/animal.jpg";
estadoCambio = true;
} else {
document.images[0].src="images/flor.jpg";
estadoCambio = false;
}
}
</script>
</body>
我嘗試使用如下運算式:
- 健康)狀況 ?(()=>{運算式1;運算式2})(): (()=>{運算式3;運算式4})()
- 健康)狀況 ?[]:[]
但沒有人作業。
我希望按照我的編程老師的命令來改變它。
uj5u.com熱心網友回復:
我想這可能是你的老師想要的:
document.images[0].src = `images/${estadoCambio ? 'flor' : 'animal'}.jpg`;
estadoCambio = !estadoCambio;
uj5u.com熱心網友回復:
您可以使用解構在條件運算式中分配兩個變數。
[document.images[0].src, estadoCambio] = estadoCambio ?
["images/flor.jpg", false] :
["images/animal.jpg", true];
uj5u.com熱心網友回復:
多個運算式可以用括號括起來,用逗號分隔。例如:
let a, b;
(true)
? (a = "animal.jpg", b = true)
: (a = "flor.jpg", b = false)
;
console.log(a,b);
(false)
? (a = "animal.jpg", b = true)
: (a = "flor.jpg", b = false)
;
console.log(a,b);
就英語而言,條件(三元)運算子本質上比if/else陳述句的可讀性差。但與所有事物一樣,沒有一件事永遠是至高無上的——最好知道如何以及在哪里突破極限,而不是完全受慣例的限制。
如果其他人需要維護代碼,并且時間允許,格式化和注釋可以大大提高可讀性。
let estadoCambio = true; // define default value of change flag: changed
function change () { // define onclick handler for Change button
(!estadoCambio) // has image been changed?
// image unchanged: set main image to animal, and set change status to true
? (document.images[0].src = "images/animal.jpg",
estadoCambio = true)
// image changed: set main image to flor, and set change status to false
: (document.images[0].src = "images/flor.jpg",
estadoCambio = false)
;
// REMOVE FOR PRODUCTION — used for testing
console.log(document.images[0].src, estadoCambio);
} // end image change handler, function definition
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/521407.html
上一篇:判斷人們是否靠近
