Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] przypisywanie stałych wartości do różnych zmiennych
stellatus
post 1.12.2020, 14:38:37
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 9.03.2017

Ostrzeżenie: (0%)
-----


Chciałbym, przypisywać stałe wartości do różnych zmiennych w ten sposób:
Kod
if (warunek) {
pierwsza zmienna (wybrana spośród wielu róznych) = true
} else {
druga zmienna (wybrana spośród wielu róznych) = false
}


Poniższy kod robi dokładnie to, o co mi chodzi, ale dużo jest w nim powtórek. Czy da się go zatem jeszcze jakoś uprościć?

Kod
var variable1
var variable2
var variable3
var variable4

var1asg = (x) => {
  variable1 = x
}
var2asg = (x) => {
  variable2 = x
}
var3asg = (x) => {
  variable3 = x
}
var4asg = (x) => {
  variable4 = x
}

foo = (asg1, asg2) => {
1===1 ? asg1(true) : asg2(false)
}

foo(var3asg,var4asg)
console.log(variable3, variable4)


Próbowałem tak:

Kod
var variable1
var variable2
var variable3
var variable4

foo = (x) => {
1===1 ? x=true : x=false
  console.log('local value: ' + x)
}

foo(variable1)
console.log('global value: ' + variable1)


ale wartość x nie przechodzi do global. Nie wiem co zrobić, żeby przeszła. To nie działa:
Kod
var variable1

foo = (x) => {
1===1 ? window.x=true : window.x=false
  console.log('local value: ' + x)
}

foo(variable1)
console.log('global value: ' + variable1)


i to też:

Kod
var variable1

foo = (x) => {
  if (1===1) {
    x = true
    x.window = x
  } else {
    x = false
    x.window = x
  }
  console.log(x)
}

foo(variable1)
console.log(variable1)


Ten post edytował stellatus 1.12.2020, 15:12:19
Go to the top of the page
+Quote Post
trueblue
post 2.12.2020, 14:47:40
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Może napisz jaki efekt chcesz osiągnąć.


--------------------
Go to the top of the page
+Quote Post
stellatus
post 3.12.2020, 08:48:23
Post #3





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 9.03.2017

Ostrzeżenie: (0%)
-----


Właściwie to chcę, żeby ta wartość x przeszła do global:
Kod
var variable1

foo = (x) => {
  if (1===1) {
    x = true
    x.window = x
  } else {
    x = false
    x.window = x
  }
  console.log(x)
}

foo(variable1)
console.log(variable1)


W zasięgu lokalnym variable1 === true. Chcę żeby to true było też globalną wartością variable1.
Go to the top of the page
+Quote Post
nospor
post 3.12.2020, 10:17:00
Post #4





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




Kod
foo = (x) => {
  if (1===1) {
    x = true
    x.window = x
  } else {
    x = false
    x.window = x
  }
  console.log(x)
return x;
}

variable1 = foo(variable1);
console.log(variable1);


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
trueblue
post 3.12.2020, 11:49:17
Post #5





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A może tak?

  1. var variables= {
  2. variable1:null,
  3. variable2:null,
  4. variable3:null,
  5. variable4:null
  6. };
  7.  
  8.  
  9. foo = (x) => {
  10. 1===1 ? variables[x]=true : variables[x]=false
  11. console.log('local value: ' + variables[x])
  12. }
  13.  
  14. foo('variable1');
  15. console.log('global value: ' + variables['variable1']);


--------------------
Go to the top of the page
+Quote Post
stellatus
post 23.12.2020, 10:59:32
Post #6





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 9.03.2017

Ostrzeżenie: (0%)
-----


Bardzo dziękuję. Wypróbuję w projekcie i dam znać.

Niestety ta część mojego projektu musi jeszcze trochę poczekać, ale pamiętam o temacie i w swoim czasie na pewno się odezwę. Na 99% to co proponujecie jest tym czego szukam.

Dzięki jeszcze raz za pomoc. Dla mnie temat jest zamknięty. Problem rozwiązałem w kompletnie inny sposób, ale mam nadzieję, że ten wątek może komuś innemu się przyda.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 09:15