Показать сообщение отдельно
  #9 (permalink)  
Старый 18.08.2012, 16:57
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Сообщение от melky Посмотреть сообщение
для удобства. а все любители скорости и малого объёма будут до конца жизни использовать += вместо ++, && вместо if(){}, и тому подобное.
Да, потеснил, так оно и есть, даже ср*ный .some() . Обыдно. Этож native код, должно быть быстрее. =(

Эх, как красиво с новомодным фичами выглядела проверка текста:
function isNaT( text ) { //not a text
	return [
		/^[_a-z0-9-\.]+@[\.a-z0-9-]+\.[a-z]+$/i, //email
		/^[a-z]+:\/\/[^\s]+$/i, //url;
		/^[0-9\.,!@#\$%\^\&*\(\)`~_\-=\+|\\{}\[\]\s:;<>\?\/]+$/i //symbol
	].some( function(pattern) pattern.test( text ) )
}

Но оно аж в 3 раза медленней чем простое:
function isNaT(text){
	var pattern = [
		/^[_a-z0-9-\.]+@[\.a-z0-9-]+\.[a-z]+$/i, //email
		/^[a-z]+:\/\/[^\s]+$/i, //url;
		/^[0-9\.,!@#\$%\^\&*\(\)`~_\-=\+|\\{}\[\]\s:;<>\?\/]+$/i //symbol
	], i = pattern.length;
	while(i--) if(pattern[i].test( text )) return true;
	return false
}

а скорость, увы, всегда важна.

P.S. Это абсурд: самодельная функция some работает быстрее нативной. *facepalm*
__________________
29375, 35

Последний раз редактировалось Aetae, 18.08.2012 в 17:08.
Ответить с цитированием