Johanna: test()

Hallou,

Erstens finde ich es ja mal Witzig, dass man test() als Suchfunktion benutzt... aber noch witziger (Ich könnt mich tot lachen) finde ich das...

var derSatz = "Auf der Mauer";
var Suche = /(Mauer)/g; // ... <== Hier keine Anführungsstrichelchen stehen...
alert(Suche.test(derSatz));

... Wie bekomme ich denn jetzt anstelle von "Mauer" eine Variable hin?

Danke!
Die verwirrte Johanna

  1. Hi,

    var Suche = /(Mauer)/g; // ... <== Hier keine Anführungsstrichelchen stehen...

    ... Wie bekomme ich denn jetzt anstelle von "Mauer" eine Variable hin?

    In dem du ein neues RegExp-Objekt erzeugst.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Sorry ich checks nicht *RehAugenMach*

      Johanna

      1. Hi,

        Sorry ich checks nicht *RehAugenMach*

        Archivsuche: neues regexp objekt

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hallo,

    myRegExpression = new RegExp(varName,"g");
    Alternativ mit eval(); aber das ist evil und laut Doug Crockford immer umgehbar.

    Gruß

    jobo

    1. Alternativ mit eval(); aber das ist evil und laut Doug Crockford immer umgehbar.

      Das erzähl ich zwar auch schon seit mindestens 2002, aber immer, ist falsch. Ich hatte hier mal eine längere heftige Diskussion wo jemand irgendwas mit einem Regulären Ausdruck machen wollte, was sich tatsächlich nur mit eval umsetzen liess. Leider finde ich diese Diskussion nicht mehr.

      Struppi.

      1. Hallo,

        Alternativ mit eval(); aber das ist evil und laut Doug Crockford immer umgehbar.

        Naja, ich habe mir letztlich alle seine Lehrvideos reingezogen. Irgendwo sagt er das so. Einer fragte, ob er das genauer bezeichnen könnte. Er sagte sinngemäß: "wenn du in die Versuchung kommst, eval zu benutzen, give me a call, and i tell you, wie mans anders machen kann".

        http://spinneimnetz.de/collection/crockford_collection.php hab mir mal selbst einen überblick zusammengestellt. lohnt.

        Gruß

        jobo

        1. [latex]Mae  govannen![/latex]

          Naja, ich habe mir letztlich alle seine Lehrvideos reingezogen. Irgendwo sagt er das so. Einer fragte, ob er das genauer bezeichnen könnte. Er sagte sinngemäß: "wenn du in die Versuchung kommst, eval zu benutzen, give me a call, and i tell you, wie mans anders machen kann".

          Das kann schon sein  *g*

          Cü,

          Kai

          --
          Even if you are a master of jQuery, you can only create mediocre (at best)
          scripts. The problem is that the authors you rely on have not mastered the
          DOM themselves. It's like one blind guy leading another off a cliff (D.Mark/clj)
          Foren-Stylesheet Site Selfzeug JS-Lookup
          SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
          1. Hallo,

            Naja, ich habe mir letztlich alle seine Lehrvideos reingezogen. Irgendwo sagt er das so. Einer fragte, ob er das genauer bezeichnen könnte. Er sagte sinngemäß: "wenn du in die Versuchung kommst, eval zu benutzen, give me a call, and i tell you, wie mans anders machen kann".

            Das kann schon sein  *g*

            Cü,

            Bingo!!!

            Gruß

            jobo

        2. Alternativ mit eval(); aber das ist evil und laut Doug Crockford immer umgehbar.

          Naja, ich habe mir letztlich alle seine Lehrvideos reingezogen. Irgendwo sagt er das so.

          Ich hatte gar nicht bezweifelt, dass er das jemals gesagt. Wie gesagt ich sag' das hier auch schon seit 7 Jahren und zuvor in der JS Newsgroup, wo ich den Spruch vermutlich her habe. Nur das "immer" stimmt nicht.

          Vielleicht finde ich noch den Thread wo wir uns geeinigt hatten, dass dies ein Anwendungsfall von eval ist. Ich hatte aber auch zuvor schon meist von 99,999% gesprochen wo eval evil ist.

          Struppi.

          1. Hallo,

            habichschonkapiert. frägt sich nur, ob d.c. nicht doch auch bei der letzte promill recht hat...

            https://forum.selfhtml.org/?t=193957&m=1296681

            Gruß

            jobo

            1. [latex]Mae  govannen![/latex]

              Hallo,

              habichschonkapiert. frägt sich nur, ob d.c. nicht doch auch bei der letzte promill recht hat...

              http://forum.de.selfhtml.org/my/?t=193957&m=1296681

              Ich denke, die Aussage von D.C. war mehr ein Vehikel, um eval() ais den Köpfen der Programmierer zu bekommen. Daß es ggf. einen sinnvollen Fall geben könnte, wird Crockford wahrscheinlich auch wissen, aber durch bewußtes Weglassen bestimmter Informationen kann man ein gewünschtes Ziel leichter erreichen und Meinungen in eine bestimmte Richtung lenken. (also das, was die Bundesregierung ständig macht, um z.B. die Bürgerrechte nach und nach weiter abzubauen)

              Cü,

              Kai

              --
              Even if you are a master of jQuery, you can only create mediocre (at best)
              scripts. The problem is that the authors you rely on have not mastered the
              DOM themselves. It's like one blind guy leading another off a cliff (D.Mark/clj)
              Foren-Stylesheet Site Selfzeug JS-Lookup
              SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
              1. Hallo,

                Ich denke, die Aussage von D.C. war mehr ein Vehikel, um eval() ais den Köpfen der Programmierer zu bekommen. Daß es ggf. einen sinnvollen Fall geben könnte, wird Crockford wahrscheinlich auch wissen, aber durch bewußtes Weglassen bestimmter Informationen kann man ein gewünschtes Ziel leichter erreichen und Meinungen in eine bestimmte Richtung lenken. (also das, was die Bundesregierung ständig macht, um z.B. die Bürgerrechte nach und nach weiter abzubauen)

                Ich hatte es so verstanden, dass Javascript ausreichend Möglichkeiten bietet, so dass es keine Notwendigkeit gibt, eval() zu nutzen.

                Gruß

                jobo

                1. [latex]Mae  govannen![/latex]

                  Ich hatte es so verstanden, dass Javascript ausreichend Möglichkeiten bietet, so dass es keine Notwendigkeit gibt, eval() zu nutzen.

                  Für eigentlich alles, was man mit JS macht, wird dies auch so sein. Nur könnte es theoretisch durchaus sein, daß in einer bestimmten Umgebung und einer bestimmten Engine und besonderen, sehr seltenen Voraussetzungen ein ganz bestimmtes Problem nicht anders lösbar sein könnte. Da dieser Fall in Etwa so wahrscheinlich ist, wie daß die Sonne anfängt, Shanties zu singen, kann man im normalen Programmieralltag die eval()-Verzichtbarkeit durchaus auf 100% aufrunden :D

                  Cü,

                  Kai

                  --
                  Even if you are a master of jQuery, you can only create mediocre (at best)
                  scripts. The problem is that the authors you rely on have not mastered the
                  DOM themselves. It's like one blind guy leading another off a cliff (D.Mark/clj)
                  Foren-Stylesheet Site Selfzeug JS-Lookup
                  SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
      2. Hallo,

        bzw:

        "eval is Evil

        The eval function is the most misused feature of JavaScript. Avoid it.

        eval has aliases. Do not use the Function constructor. Do not pass strings to setTimeout or setInterval."

        in http://javascript.crockford.com/code.html

        Gruß

        jobo