Просмотр полной версии : не работает push Array в условии.
Не могу понять в чем дело. Вот пример функции:
function xfunc(){
var lines = new Array('_sec'); // Создали новый массив
if(чтото){lines.push('_dsec');} // НЕ работает!!!!
lines.push('_dsec'); // Работает.
}
Почему так может быть? oO
P.S. Он даже trace на массив lines не выводит. ппц
P.S.S. Пробовал даже добавлять так: lines[1] = '_dsec'; Тоже не пашет
xfunc(); // _sec,_dsec,_dsec
function xfunc(){
var lines = new Array('_sec'); // Создали новый массив
if(true){lines.push('_dsec');} // НЕ работает!!!!
lines.push('_dsec'); // Работает.
trace(lines);
}
А может условие не выполняется?
Автор, а разве массив, заданный с помощью var внутри функции, должен жить после ее отработки? Это же локальная объектная переменная.
function xfunc(){
var lines = new Array();
if(true){
lines.push('1');
}
lines.push('2');
for (i in lines) {
trace(i + ' ' + lines[i]);
//выводит
//1 2
//0 1
}
}
xfunc();
for (i in lines) {
trace(i + ' ' + lines[i]); //ничего не выводит
}
Вы где проверяли состав массива? Вне функции его нет.
Создавайте массив заранее.
Вот так все прекрасно работает, и массив остается после того, как функция отработала:
var lines = new Array(); // Создали новый массив
function xfunc(){
lines.push('_sec');
if(true){
lines.push('_dsec');
}
}
xfunc();
for (i in lines) {
trace(i + ' ' + lines[i]);
//выводит
//1 _dsec
//0 _sec
}
Всем спасибо! Трезвый взгляд показал что условие не выполнялось) Надо больше спать и быть внимательнее))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.