Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# toujours ce get rowCount

Envoyé par : hhf

Date : 11/04/2006 00:05

salut, encore une question sur cette fameuse syntaxe :

function Toto() {}
Toto.prototype = {
 _nb : 0,
 get nb() {return nb},
 set nb(val) {this._nb=val}
}

Ok, ceci marche, quand je fait :

var toto = new Toto();
toto.nb; // me retourne toto._nb
toto.nb=5; // modifie bien toto._nb

Bien sur ici l'exemple est trivial

Maintenant cette 'Class' (desolé moi, programmeur Java), je veux l'enrichir de nouvelles 'propriétés'

Toto.prototype._line = 0; // ligne similaire à la ligne '_nb : 0,'

Comment faire pour faire le getter et le setter en dehors de la structure du prototype Quelque chose comme ca :

Toto.prototype.get line() {return this._line;}
Toto.prototype.set line(val) {this._line = val;}

Bon evidement non, si quelqu'un a la solution ....

J'ai bien regardé les spec Ecmascript, mais ils sont un peu avare en exemples, c'est le moins que l'on puisse dire.

Toujours dans Ecmascript, ils parlent des attributs des propriétés style readonly, enumerable etc, si quelqu'un a des exemples, ils sont les bienvenus

Merci d'avance

# Re: toujours ce get rowCount

Envoyé par : thefab

Date : 11/04/2006 00:28

Salut,

Tu peux le faire avec des méthodes (style Java ;-), avec getXXX()

Toto.prototype.getLine = function()
  {
  return this._line;
  }

Fabrice

# Re: toujours ce get rowCount

Envoyé par : hhf

Date : 11/04/2006 23:13

Merci pour cette info capital...

Ma question ne se porte bien sure pas sur cette syntaxe, mais bien sur cette particularité de Ecmascript 262.

Bien sur que je peux faire des setter et getter classique, le but est ici de comprendre les subtilitées du language javascript.

Merci quand même.

Donc question sans reponse actuellement, dans les sources de firefox, il y a bien des get rowCount, mais pas sous la forme d'un enrichissement du prototype, mais seulement dans la declaration de celui ci, comme dans mon premier exemple.

Si quelqu'un trouve de la doc sur Ecmascript autre que celle de la recommendation, je suis aussi preneur

# Re: toujours ce get rowCount

Envoyé par : laurentj

Date : 12/04/2006 18:15

Dans le guide js, j'ai vu cet exemple

monobj.prototype.year getter= function() { return this.getFullYear(); };
monobj.prototype.year setter=  function(y) { return this.setFullYear(y); };

# Re: toujours ce get rowCount

Envoyé par : hhf

Date : 12/04/2006 21:07

merci laurentj, c'est koi le guide js ou tu as trouvé ceci ?

# Re: toujours ce get rowCount

Envoyé par : hhf

Date : 13/04/2006 01:03

ca marche, nickel, je vais donc cherché maintenant la syntaxe pour les autres attributs de propriétés (dixit ecmascript 262) à partir de la page 26 pour les curieux

# Re: toujours ce get rowCount

Envoyé par : hhf

Date : 13/04/2006 02:31

Comme apperement cette implementation est maintenant deprecated, il faut maintenant faire

monobj.prototype.defineGetter("year", function() { return this.getFullYear(); });

Bon maintanant il me reste a trouver les autres propriété et methodes interne tel proto , definedGetter(), defineSetter()

Si quelqu'un trouve quelque chose...

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.