Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Gyártottam egy aprócska weblapot teszteléshez. Egy form, rajta szöveg mezővel, és egy gombbal. Megnyomom a gombot, lefut a függvény, és beírja az értéket. Az index.html egészben:

    <html><head><script type="text/javascript" language="javascript">
    var proven = (function (a, b) { return a * b; })("2", 3.14);
    function read_it() {
    urlap.blabla.value= proven(); // ezzel nem mukodik
    // urlap.blabla.value= "2" *3.14; // ezzel mukodik
    return;}
    </script></head>

    <body><form name="urlap">
    <input type="text" name="blabla" width="16">
    <input type="button" value="Read" onclick="read_it()" />
    </form></body>

    </html>

    Ha a sima aritmetikai kifejezés van a read_it() érték adó sorában, akkor bekerül a 6.28 a szöveg mezőbe. Ha a proven()-t hívom, akkor nem: üres marad a szöveg mező, bármennyit nyomogatom a gombot. Valami nem jó rajta.

    Minek ilyen nyakatekerten megoldani a függvényeket? Nem igazán világos itt az anonim funkció szerepe sem, hogy tulajdonképpen minek - nem sok értelme van.

    Átalakítva valami normálisan értelmezhető formára:

    function multiply( a, b ){
    return a * b;
    }

    alert( multiply(3, 4) ); // 12

    Így még lehet is látni, mit akar csinálni a függvényed.
    Egyébként ha nagyon ragaszkodsz - az okát nem látom - a saját függvényedhez, akkor az anonim funkciónál sincs sok értelme egyből megadni a bemenő paramétereket.
    Példa:

    var proven = function (a, b) { return a * b; };

    alert( proven(3, 4) ); // 12

    Így pontosan ugyanaz a függvény meghívásának módja.

    =====

    (#2300) Athlon64+ : sajnos nagyon sok tutorialban a mai napig benne maradt ez a language="JavaScript" baromság. Ez még nagyon régen használatos volt, de már elég régóta kiment a divatból - tehát "deprecated"-nek minősül (pl.). Itt is találtam egy oldalt, ahol arról vakerásznak, miért is kell(ett) ez az attribútum. Sajnos az ilyeneket nem törlik. Volt ilyen, ma már nincs.

Új hozzászólás Aktív témák