Một năm trước, tôi đã chuyển từ các ngôn ngữ OO cổ điển như Java sang JavaScript. Mã sau chắc chắn không được khuyến nghị (hoặc thậm chí không đúng) trong Java:
if(dayNumber = getClickedDayNumber(dayInfo))
{
alert("day number found : " + dayNumber);
}
function getClickedDayNumber(dayInfo)
{
dayNumber = dayInfo.indexOf("fc-day");
if(dayNumber != -1) //substring found
{
//normally any calendar month consists of "40" days, so this will definitely pick up its day number.
return parseInt(dayInfo.substring(dayNumber+6, dayNumber+8));
}
else return false;
}
Về cơ bản, tôi vừa phát hiện ra rằng tôi có thể gán một biến cho một giá trị trong câu lệnh điều kiện if và ngay lập tức kiểm tra giá trị được gán như thể nó là boolean.
Để đặt cược an toàn hơn, tôi thường tách nó thành hai dòng mã, gán trước sau đó kiểm tra biến, nhưng bây giờ tôi tìm thấy điều này, tôi chỉ tự hỏi liệu nó có phải là phương pháp tốt hay không dưới con mắt của các nhà phát triển JavaScript có kinh nghiệm?
"The following code is definitely not recommended (or event not correct) in Java..."Nó có chính xác trong JavaScript không? Bởi vì, theo như tôi thấy, bạn trả về một số nguyên (return parseInt(...)) nếudayNumber != -1là đúng, nhưng là boolean nếu sai.