Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2013, 21:23
Новичок на форуме
Отправить личное сообщение для kolyas Посмотреть профиль Найти все сообщения от kolyas
 
Регистрация: 01.06.2013
Сообщений: 8

indexof в функцию
У меня часто используется indexOf и для сокращения я выкинул в фунцию часть кода:

function istut(where, who){
	if (where.indexOf(who) != -1) return true;
	return false;
}


вопрос по производительности: без разницы использовать функцией или не сокращая. или на одном проходе это не заметно?
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2013, 21:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kolyas
вопрос по производительности: без разницы использовать функцией или не сокращая. или на одном проходе это не заметно?
На одном проходе точно разницы нет. Дайте нормальное имя функции, уберите дибильный if () - зачем он нужен, если результат сравнения и есть true/false

function contains(where, who){
    return where.indexOf(who) !== -1;
}


ES Harmony вроде как может появиться String.prototype.contains
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2013, 22:17
Новичок на форуме
Отправить личное сообщение для kolyas Посмотреть профиль Найти все сообщения от kolyas
 
Регистрация: 01.06.2013
Сообщений: 8

спасибо. и код у вас чище.

Про
Сообщение от danik.js Посмотреть сообщение
ES Harmony вроде как может появиться String.prototype.contains
не очень понял

если про
var contained = str.contains(searchString [, position]);


то мало где поддерживается.

оказывается я плохо искал.


if(!('contains' in String.prototype))
  String.prototype.contains = function(str, startIndex) { return -1!==this.indexOf(str, startIndex); };

Последний раз редактировалось kolyas, 16.06.2013 в 22:29.
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2013, 02:52
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

return ~where.indexOf(who);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2013, 03:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

nerv_,
return !!~where.indexOf(who);
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2013, 00:31
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

рони, если нужно вернуть булево, то да
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать анонимную функцию, вызывающую другую функцию с нужными параметрами Ваяс Общие вопросы Javascript 5 21.02.2013 20:12
Выполнить функцию заранее неизвестную Neokortex jQuery 2 13.02.2012 12:41
checkbox включен запускаем одну функцию выключен другую Sadist_dead Элементы интерфейса 11 27.09.2011 10:46
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32