function isInt(value) { return !isNaN(value) && parseInt(Number(value)) == value && !isNaN(parseInt(value, 10)); }
Tests:
isInt(7) // true isInt("7") // true isInt(7e5) // true isInt("7e7") // true isInt(" 7 ") // true isInt("") // false isInt(" ") // false isInt(77.7) // false isInt("1a") // false isInt("7e7a") // false isInt(null) // false isInt(undefined) // false isInt(NaN) // false