Sebastian: typeof(eval(vari + "_temp")) gibt Fehler...

Hi,

könnt ihr mir erklären warum das nicht funktioniert:

<script language="JavaScript">

ary_name = ['1','2'];

function checkAll(ary) {
  if(typeof(eval(ary + "_temp")) == 'undefined') {
   alert("ja")
  }
  }

onload = function() {
   checkAll('ary_name');
  }
 </script>

Wenn man statt dem eval() ne Variable nimmt, dann gehts:

<script language="JavaScript">

ary_name = ['1','2'];

function checkAll(ary) {
  if(typeof(vari) == 'undefined') {
   alert("ja")
  }
  }

onload = function() {
   checkAll('ary_name');
  }
 </script>

Jemand ne Idee?

Grüsse, Sebastian

  1. Nabend,

    <script language="JavaScript">
     <script language="JavaScript">

    Die type-Angabe fehlt jeweils.

    Jemand ne Idee?

    Nein, denn du hast keine weiteren Angaben dazu gemacht, was "funktioniert nicht" bedeutet und auch nicht zu deinen bisherigen Debug-Versuchen.

    Bis denne,

    1. Hi Hubert,

      Nein, denn du hast keine weiteren Angaben dazu gemacht, was "funktioniert nicht" bedeutet und auch nicht zu deinen bisherigen Debug-Versuchen.

      Teste bitte die beiden Versionen. Sie sind bis auf das eval() identisch. Die erste Variante, also mit eval(), funktioniert nicht. - d.h. es gibt eine JS Fehlermeldung
      Zweite Variante, funktioniert wie gewünscht.

      An der type Bezeichnung lag es nicht.

      1. Nabend,

        Nein, denn du hast keine weiteren Angaben dazu gemacht, was "funktioniert nicht" bedeutet und auch nicht zu deinen bisherigen Debug-Versuchen.

        Teste bitte die beiden Versionen.

        Ja, wenn du uns/mir ein Beispiel dazu gibst.

        Sie sind bis auf das eval() identisch.

        Ich sah es.

        Die erste Variante, also mit eval(), funktioniert nicht. - d.h. es gibt eine JS Fehlermeldung

        ...die du uns aber lieber vorenthälst.

        An der type Bezeichnung lag es nicht.

        Das ist klar; dort sind die meisten Browser recht tolerant.

        Bis denne,

        1. Ja, wenn du uns/mir ein Beispiel dazu gibst.

          Brille? .... strg + v, in eine leere Seite kopieren, und schon ist das Beispiel da... :-]

          Weis nicht was daran das Problem ist.

          ...die du uns aber lieber vorenthälst.

          Die auch nicht relevant ist.

          Trotzdem danke.

          Zapp hat die Antwort gepostet.

  2. Hi,

    könnt ihr mir erklären warum das nicht funktioniert:

    if(typeof(eval(ary + "_temp")) == 'undefined') {

    Zuerst wird das eval ausgewertet. Wenn dabei schon ein Fehler entsteht, kommt das typeof gar nicht mehr zum Zuge. Funktionieren würde z.B.: if(!self[ary + "_temp"])

    Grüße, Stefan

    --
    Selfforum Plus-Pack: http://zapp.i-networx.de/
    1. if(!self[ary + "_temp"])

      Super! So gehts. Vielen Dank für deine Antwort.

      Grüsse, Sebastian