Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ JavaScript _ Simple function - argumenty funkcji

Napisany przez: pop3k 1.03.2018, 14:33:10

Witam, mam problem z bardzo prostą funkcją:

Kod
function funkcja_typeof(){
    for (var i = 0; i < arguments.length; i++)
    console.log(arguments[i], ': ', typeof(arguments[i]));
      //alert(arguments[i] + 'Argument: '+(i)+', wartość: '+ typeof(arguments[i]));
        }

odwołuję się do niej w innej funkcji, podając zmienne jako argumenty:
Kod
var b = 0.4;
var c = 0.03;
funkcja_typeof(b, c);


w logach otrzymuję następujące wartości:
0.4 : string
0.03 : number

a chciałbym uzyskać:
b : string
c : number

Proszę o pomoc

Napisany przez: nospor 1.03.2018, 14:50:18

To niemozliwe co chcesz osiagnac

Napisany przez: pop3k 1.03.2018, 15:09:23

To przykre, to co napisałeś. Miała być prosta funkcja.

A jaką funkcję byś zaproponował?

Mam program, w którym używam kilkadziesiąt funkcji. Niektóre są pobierane od użytkownika, a niektóre liczone. Jako, że mam wszystkie zmienne zdefiniowane na początku, łatwo byłoby mi je skopiować i wrzucić szybko w argumenty jakiejś funkcji. Tzn:

Kod
var a, b, c, d, e, ab, cd, ef, ff, itp, itd

Kod
function simple(a, b, c, d, e, ab, cd, ef, ff, itp, itd)

Funkcja ta miałaby sprawdzać typeof i może później wartości każdej ze zmiennych po kolei. Jak widać w powyższym przykładzie wartości i typeof są łatwe do zrobienia, ale w całym tym moim kontrolnym logu chciałbym wiedzieć o jakiej zmiennej mowa

Napisany przez: markuz 1.03.2018, 15:11:43

Przekazuj HashTable/Object literals tj. {a: 5, b: 10} itp.

Napisany przez: nospor 1.03.2018, 15:11:44

Nie mam sily nawet probowac zrozumiec co napisales a juz tym bardziej po co ci to w ogole.

Ale prosze
https://stackoverflow.com/questions/1007981/how-to-get-function-parameter-names-values-dynamically
tam podali jak mozesz sobie pobrac parametry funkcji, bedziesz musial tylko zmienic podejscie troche w tym co masz teraz. Moze ci sie przyda bo jak pisalem ciezko mi przebrnac przez to co napisales

Napisany przez: pop3k 1.03.2018, 16:05:41

Nie, to nie to,
może za bardzo skomplikowanie to napisałem
chcę, aby przy wywołaniu funkcji "funkcja(a, h)", gdzie a i b mają wartości
pokazało mi w konsoli (albo gdzieś) napis: "Użyłeś funkcji z parametrami "a", "h"

Napisany przez: nospor 1.03.2018, 16:16:39

Cytat
pokazało mi w konsoli (albo gdzieś) napis: "Użyłeś funkcji z parametrami "a", "h"
To ci napisalem przeciez: w tej formie to nie mozliwe.

Napisany przez: pop3k 1.03.2018, 16:27:37

OK, a możesz mi pomóc taką funkcję napisać? W innej formie?
Pomyślałem o przerobieniu całych argumentów na string ale nie wiem jak to ugryźć

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)