Показать сообщение отдельно
  #1 (permalink)  
Старый 30.03.2014, 11:40
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Переменные внутри цикла
Строю кривую, для этого в цикле забиваю массив geometry трехмерными точками ( класс Vector3 ). Хочется для наглядности написать:

for (var t = 0; t <= 30; t+= 0.1)  
{
     var x = a*Math.cos( t );
     var y = a*Math.sin( t );
     var z = b*t;

     var vec = new Vector3( x, y, z );
     geometry.push( vec );
}


Вопрос, возникает ли при этом 3*300 = 900 переменных (из-за x,y,z) ? Страдает ли производительность? Лучше так?

for (var t = 0; t <= 30; t+= 0.1)  
{
     var vec = new Vector3( a*Math.cos( t ), a*Math.sin( t ), b*t );
     geometry.push( vec );
}

Просто я подозреваю, что в Javacsript нет такой проблемы, там переменные сами исчезают. Или не так, и лучше использовать второй код? Или нужно в духе Паскаля:
var x,y,z;
for (var t = 0; t <= 30; t+= 0.1)  
{
     x = a*Math.cos( t );
     y = a*Math.sin( t );
     z = b*t;

     var vec = new Vector3( x, y, z );
     geometry.push( vec );
}


Есть ли разница в Javascript между первым и третьим кодом?

Последний раз редактировалось alexan0308, 30.03.2014 в 11:42.
Ответить с цитированием