Показать сообщение отдельно
  #16 (permalink)  
Старый 03.07.2009, 18:23
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Riim, в твоем варианте есть ошибка:
function isNumber(x) {
	return x < 0 || x > 0 || x == 0;
}
alert(isNumber(false));


Сообщение от Riim
Мой вариант … работает быстрей.
Проверял?
function isNumber(x) {
	return ! isNaN(x * 1);
}

function isNumber1(x) {
	return x < 0 || x > 0 || x === 0;
}

var t1 = new Date().getTime(), i = 100000;

while (i--) {
	isNumber(NaN);
	isNumber(1);
	isNumber({});
}

t1 = new Date().getTime() - t1;

var t2 = new Date().getTime();

i = 100000;

while (i--) {
	isNumber1(NaN);
	isNumber1(1);
	isNumber1({});
}

t2 = new Date().getTime() - t2;

alert([t1, t2]);

Последний раз редактировалось Octane, 03.07.2009 в 18:28. Причина: Опечатка в nickname
Ответить с цитированием