Как из функции вынести значение переменной которая была заданна через параметры?

var formSPStatusColor = 0;
var formSPStatusSize = 0;
var formSPStatusQuantity = 0;

function funFormSP(el, status) {
  if (status == 0) {
    document.getElementsByClassName(el)[0].style.transform = 'rotateX(0deg)';
    return status = 1;
  } else {
    document.getElementsByClassName(el)[0].style.transform = 'rotateX(90deg)';
    return status = 0;
  }

}

<div onclick="funFormSP('selectedColorActive', formSPStatusColor)">Нажми</div>

При нажати, передаётся класс элемента и статус нажатий (1й раз нажат или 2й). после срабатывания статус должен принимать значение "1". Он это и делает, но я не знаю как вынести его за пределы функции, что бы он присвоился переменной которая была указанна в параметрах


Ответы (1 шт):

Автор решения: BUTURUM

Отлично! Если я вас правильно понял то вам всего то на всего нужно было глобально изменить значение переменой переданной в параметры. И я вас поздравлю! Это невозможно! Мы можем попытаться сделать это немного иначе:

  1. через объект:

    let varible = {
     value : undefined
    }
    function test(obj){
     obj.value = 0
    } 
    test(varible)
    

объекты как мы знаем это всего лишь набор ссылок на ячейки памяти и тут свойство value общее у объекта varible и obj.

  1. с помощью return:

    let varible = 0;
    function test(value){
     return value
    }
    varible = test(varible)
    

и если вам нужно изменять значение переменой переданной в параметрах вы что-то делаете не так

→ Ссылка