我得到了下面的代碼從一個JavaScript庫:的Javascript三元操作順序
function func_1()
{
if (null == decimal)
{
return dPR || (dpr(2) ? 2 : dpr(1.5) ? 1.5 : dpr(1) ? 1 : 0);
}
}
我在if
語句中的代碼特別感興趣。
我該怎麼寫這個以便它更容易閱讀?現在我無法理解它。
謝謝。
我得到了下面的代碼從一個JavaScript庫:的Javascript三元操作順序
function func_1()
{
if (null == decimal)
{
return dPR || (dpr(2) ? 2 : dpr(1.5) ? 1.5 : dpr(1) ? 1 : 0);
}
}
我在if
語句中的代碼特別感興趣。
我該怎麼寫這個以便它更容易閱讀?現在我無法理解它。
謝謝。
它等同於:
if (dPR) {
return dPR;
} else {
if (dpr(2)) {
return 2;
} else {
if (dpr(1.5)) {
return 1.5;
} else {
if (dpr(1)) {
return 1;
} else {
return 0;
}
}
}
}
if (decimal == null) {
if (dPR) {
return dPR;
} else {
if (dpr(2)) {
return 2;
} else if (dpr(1.5)) {
return 1.5;
} else if (dpr(1)) {
return 1;
} else return 0;
}
}
這是不正確的,你的代碼中有兩個else分支。 –
@DavidMüller固定。 – 0x499602D2
if (dPr) {
return dPr;
}
else {
if (dpr(2))
return 2
else if (dpr(1.5))
return 1.5;
else if (dpr(1))
return 1;
else
return 0;
}
謝謝大衛。這實際上更接近我的大腦想要處理的問題。 –
給出有意義的名稱常量和不使用一些隨機的首字母縮寫。 – Esailija
發佈您的所有代碼。我相信它缺少一些定義。 –