Показать сообщение отдельно
  #1 (permalink)  
Старый 19.09.2011, 11:15
Аспирант
Отправить личное сообщение для bartonom Посмотреть профиль Найти все сообщения от bartonom
 
Регистрация: 05.05.2011
Сообщений: 48

проблема с передачей параметров в функцию
<script type="text/javascript"> 

function myConcat() {
   var len = arguments.length;  // количество аргументов
   alert('len = '+ len);
   var result="" 
   for (var i = 0; i < len; i++) {
      result += arguments[i] + ","; 
   }
   return result;
} 

stroka = '"'+"red"+'"'+","+'"'+"orange"+'"'+","+'"'+"blue"+'"';
alert('stroka = '+ stroka);

 res = myConcat("red","orange","blue");  //  вариант обращения к функции
// res = myConcat(stroka);                     //  вариант обращения к функции 

alert('res = ' + res);
</script>


Здравствуйте, возникла непонятная для меня проблема с передачей параметров в функцию.
Мне необходимо собрать аргументы в строку, а затем передать в функцию.
Но при передаче в функцию списка параметров в виде myConcat("red","orange","blue") - количество аргументов len = 3,
а при передаче в виде строки myConcat(stroka) - количество аргументов len = 1.
Строка сформирована так:
stroka = '"'+"red"+'"'+","+'"'+"orange"+'"'+","+'"'+"blue"+ '"';
При отображении alert(stroka) выводит "red","orange","blue", т.е. вроде тоже самое, а результат разный.
Подскажите, пожалуйста, в чем тут дело и можно ли эту проблему решить?
Ответить с цитированием