IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

passer une fonction dans un parametre d'une propriété de classe


Sujet :

JavaScript

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 235
    Points : 314
    Points
    314
    Par défaut
    Citation Envoyé par tthierry
    concrètement, ce qui se passe avec cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    MyClass = function()
    {
     
    }
     
    MyClass.prototype.f1 = function()
    {
     
    }
    - les variables locales du constructeur disparraissent de la mémoire dès la fin de son appel.
    - les méthodes de la classe sont partagées pour toutes les instances (n instances -> un seul jeu de méthodes en mémoire).
    C'est le mot clé prototype qui fait cela ?

    et donc le fait d'imbriquer comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MyClass = function()
    {
        MyClass.prototype.f1 = function()
       {
     
       }   
    }
    Cela donne quoi ? Cela sert a rien de mettre un prototype imbriquer dans un objet alors?

  2. #22
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    >C'est le mot clé prototype qui fait cela ?

    pour ce qui est du partage des méthodes je dirais oui.

    >et donc le fait d'imbriquer comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     MyClass = function()
    {
        MyClass.prototype.f1 = function()
       {
     
       }   
    }
    >Cela donne quoi ? Cela sert a rien de mettre un prototype imbriquer dans un objet alors?

    pour ce qui est des variables locales du construteur elles seront accessibles pour chaque méthode et disparaîtront lors de la disparition de l'instance.

    pour ce qui est de l'occupation mémoire des méthodes je ne sais pas si le moteur js met en avant 'prototype' (partage) ou la création d'une fermeture (pas de partage) lors de la création de plusieurs instances.

    après regarde toujours les liens que j'ai filé plus haut, la personne qui a écrit le tuto en sait plus que moi.

    +

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 235
    Points : 314
    Points
    314
    Par défaut
    oui j'avais déjà jeté un oeil, je pense que par precaution je vais eviter d'imbriquer mes fonctions dans ma classe.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. passer un tableau php en parametre d'une fonction js
    Par maxwel56 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/05/2012, 16h51
  2. mettre un parametre d'une fonction dans un request.setAttribute
    Par john_wili dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/03/2009, 14h34
  3. faire passer une fonction entant que parametre d'une fonction
    Par gali_fr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/05/2008, 15h18
  4. Réponses: 2
    Dernier message: 26/04/2008, 10h13
  5. Réponses: 6
    Dernier message: 17/10/2006, 09h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo