Показать сообщение отдельно
  #4 (permalink)  
Старый 29.02.2020, 21:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,561

Вы должны добавлять значения в массив там, где эта ваша переменная изменяется. Остальные варианты - говнокод.

В можете, если переменная глобальная, поставить вместо неё геттер с сеттером, но это имеет смысл только в каких-нить в юзерскриптах.
<script>
function watchGlobalVariable(name, array = []) {
  var value
  
  Object.defineProperty(window, name, {
  	get(){
    	return value;
    },
    set(newValue) {
    	array.push(value = newValue);
    },
    enumerable: true,
    configurable: true
  })

  return array;
}
var fruits = ["Яблоко", "Апельсин"]; 
watchGlobalVariable('t', fruits);
</script>

<script>
var t = "манго";

t='банан';
t='кокос';
t='груша';

document.write(fruits)
</script>
__________________
29375, 35

Последний раз редактировалось Aetae, 29.02.2020 в 21:41.
Ответить с цитированием