Javascript.RU

concat

Синтаксис

result = string1.concat(string2, string3[, ..., stringN])

Аргументы

string2...stringN
сроки, которые будут прибавлены к string1

Описание, примеры

Выполняет действие, аналогичное оператору + для строк.

a = "строка"
b = " очень"
с = " длинная"

alert(a.concat(b,c)) // строка очень длинная

Автор: Гость (не зарегистрирован), дата: 24 марта, 2012 - 14:06
#permalink

for (var i = 1; i <= 3; i++){
string1 = string1.concat(generate_string(i));
}
function generate_string(i){
return "bla " + i + "; "
}


Я ожидал, что код вернет bla 1; bla 2; bla 3; , однако он возвращает bla 3;
Где у меня ошибка?

Автор: Гость (не зарегистрирован), дата: 11 апреля, 2012 - 14:18
#permalink

string1 объявите:

var string1 = '';


Автор: K313, дата: 6 мая, 2012 - 11:40
#permalink
var t=new Date().getTime(),b,i;

// ======  СОЕДИНЕНИЕ СТРОК   ============

var a,b,c='',d='abcdefghigklmnopqr',e=[],i;
for(i=0;i<100000;i++){// Ha 100'000 интераций
	
	//c+=d+123+'_'+i;
	// -Opera: 180, IE: 640,  FF: 30,  Chrome: 230, Safari: 80   
	// ВЫВОД: строки складываются лучше всего в FireFoxe, а хуже всех - IE
	
	//c=c.concat(d,123,'_',i);
	// -Opera: 110, IE: 710,  FF: 30,  Chrome: !!!, Safari: 100   
	
	//e.push(d+123+'_'+i);
	// Opera: 270, IE: 710,  FF: 30,  Chrome: 250, Safari: 90 --- без e.join('');
	
	//e.push(d+123+'_'+i);
	// -Opera: 460, IE: 1100, FF: 170, Chrome: 280, Safari: 290 --- c e.join('');
	
	//e.push(d);
	// Opera: 10,  IE: 200,  FF: 6,   Chrome: 15,  Safari: 80 --- без e.join('');
	
	//e.push(d);
	// Opera: 60,  IE: 250,  FF: 36,  Chrome: 75,  Safari: 80 --- c e.join('');
	
	//e.push(d,123,i);
	// -Opera: 190, IE: 410,  FF: 126, Chrome: 300, Safari: 170 --- c e.join('');
	
	//e.push(d);e.push(123);e.push(i);
	// Opera: 190, IE: 650,  FF: 96,  Chrome: 285, Safari: 190 --- c e.join('');
	
}//c=e.join('');

//			  	В IE лучше собирать в массив, а затем join()
//				в остальных - сразу в строку

//========   ОПРЕДЕЛЕНИЕ ФУНКЦИЙ   ==========

//function ff(){var a,b,c,d,e,fff;a=1;fff=function(){var a,b,c,d,e,f;a=0;}}	
// Opera: 63, IE: 790, FF: 19,  Chrome: 10,  Safari: 19

//function fff(){var a,b,c,d,e,f;a=0;}function ff(){var a,b,c,d,e,f;a=1;fff();}	
// Opera: 20, IE: 200, FF: 1.2, Chrome: 4.1, Safari: 3.6

//for(i=0;i<100000;i++){ff();}// результат очевиден: функции из функций лучше вытащить

//==========================================



b=new Date().getTime();
//alert('e.len='+e.length+'\nTime='+(b-t));
alert('c.len='+c.length+' i='+i+'\nTime='+(b-t));

Chrome при использовании concat() с чего-то зависает... почему - не знаю, да и не важно...


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
17 + 2 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама

Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum
Последние комментарии