Retângulo rápido para interseção de retângulo

Qual é a maneira mais rápida de testar se dois retângulos estão se cruzando?

Uma pesquisa na internet surgiu com essa linha única (WOOT!), Mas eu não entendo como escrevê-lo em Javascript, parece estar escrito em uma forma antiga de C ++.

struct
{
    LONG    left;
    LONG    top;
    LONG    right;
    LONG    bottom;
} RECT; 

bool IntersectRect(const RECT * r1, const RECT * r2)
{
    return ! ( r2->left > r1->right
        || r2->right < r1->left
        || r2->top > r1->bottom
        || r2->bottom < r1->top
        );
}

questionAnswers(5)

yourAnswerToTheQuestion