0 votes

Javascript affichant le texte de la fonction au lieu d'imprimer la valeur à l'écran

function hex(x,y,side,isLast,color)
{//Hex object constructor.

    this.x = x;
    this.y = y;
    this.side = side;
    this.isLast = isLast;
    this.color = color;

    function multiply()
    {
        return this.x \* this.y;
    }

    this.multiply = multiply;
}

var hexagon = new hex(22,22,20,0,1);

document.write(hexagon.multiply);

Lors du chargement de index.htm, résultats qui écrit à l'écran la fonction au lieu de la valeur de retour :

function multiply() { return this.x * this.y ; }

(

6voto

Pekka 웃 Points 249607

Tu as oublié le () :

document.write(hexagon.multiply());

Si vous n'utilisez pas (), Javascript traitera multiply comme une variable et écrivez son contenu - dans ce cas, le code de la fonction.

2voto

alexy13 Points 1450

Vous devez vous assurer que votre code javascript se trouve dans <script> y </script> tags. Ainsi, il pourrait être lu :

<html><head><script type="text/javascript">
function hex(x,y,side,isLast,color)
{//Hex object constructor.

    this.x = x;
    this.y = y;
    this.side = side;
    this.isLast = isLast;
    this.color = color;

    function multiply()
    {
        return this.x * this.y;
    }

    this.multiply = multiply;
}

var hexagon = new hex(22,22,20,0,1);

document.write(hexagon.multiply)
</script>
<body>
<!--Content here-->
</body>
</html>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X