在if条件语句中赋值变量,是好的做法吗?【已关闭】

8 浏览
0 Comments

在if条件语句中赋值变量,是好的做法吗?【已关闭】

一年前,我从像Java这样的经典面向对象语言转向了JavaScript。以下代码在Java中绝对不被推荐使用(甚至不正确):

if (dayNumber = getClickedDayNumber(dayInfo)) {
    alert("day number found : " + dayNumber);
}
function getClickedDayNumber(dayInfo) {
    dayNumber = dayInfo.indexOf("fc-day");
    if (dayNumber != -1) { // 子字符串找到
        // 通常一个日历月包含"40"天,所以这一定能找到它的日期。
        return parseInt(dayInfo.substring(dayNumber + 6, dayNumber + 8));
    }
    return false;
}

基本上,我刚刚发现我可以在if条件语句中将一个变量赋值给一个值,并立即将赋值后的值视为布尔值进行检查。

为了更安全,我通常会将其分为两行代码,先赋值然后检查变量,但现在我发现这样做在有经验的JavaScript开发者眼中是否是良好的实践呢?

0