例如,而不是写作,
1
// If the square in front of piece is not occupied then highlight the square
if($(`#${currentHighlightedPiece.currentSquareLetter}${currentHighlightedPiece.currentSquareNumber-1}`).children().length === 0){
// ...
};
写作会更好吗,
2
var forwardOneOccupantSize = $(`#${currentHighlightedPiece.currentSquare[0]}${currentHighlightedPiece.currentSquare[1]-1}`).children().length;
// If the square in front of piece is not occupied then highlight the square
if(forwardOneOccupantSize === 0){
// do stuff
}
?
答案 0 :(得分:1)
决定将其作为答案提供更多信息:)
如果您不需要重新计算 - 是的,将值保存在变量中会好得多。您的代码将更具可读性,其他程序员(甚至您)将来需要更少的时间来理解/更改/修复此代码。
如果值可能会改变(当你查看元素的维度/位置时这是很常见的) - 使用函数会更好。
function checkSpecificContainerNumberOfChildren() {
return $(`#${currentHighlightedPiece.currentSquareLetter}${currentHighlightedPiece.currentSquareNumber-1}`).children().length === 0;
}
if(checkSpecificContainerNumberOfChildren()){
// ...
};
由于您谈论的DOM可能会随着时间的推移而发生变化 - 最好为该调用使用一个函数。
答案 1 :(得分:0)
如果您只需要一次检查(如果您不需要重新计算),则可以将支票放入if语句中。
如果您需要多次结果(如循环中),变量会更漂亮。但是,如果函数的结果可以更改,则应该小心:如果将结果放在变量中,则变量的值是调用函数时函数的值。例如,如果你追踪一个位置,你就不应该这样做!
最后,如果你使用第二个解决方案,你应该声明一个常量(代码中的const)而不是变量(var),它在计算机中占据更多位置。