Java-скрипт сначала интерпретирует a == b
как логическое значение (true или false), что приводит к следующему примеру:
if ((false) < limit) //cannot compare a boolean with a number
alert("true");
else
alert("false");
Невозможно сравнить логическое значение с числом.Вам необходимо добавить еще один оператор, чтобы также проверить, что значение a меньше предела.
if ((a===b) && (a < limit)) //something like this
alert("true");
else
alert("false");