bonjour à tous,
j'utilise ce qui suit avec Internet Explorer, sans problème :
( simplification de mon script réel )
<script type="text/javascript">
function ini(p) { this.mem=p; }
function ini.prototype.aff(txt) { alert(txt+"="+this.mem); }
var c=new ini("abcd");
c.aff("exemple");
</script>
avec FireFox erreur sur le 1er point de "function ini.prototype.aff...
j'ai essayé plusieurs choses, mais pas les bonnes, pour que cela
fonctionne au moins sur ces 2 navigateurs.
pouvez-vous m'aider ? j'ai été bien incapable de trouver des
explications (en français) quelque part.
merci d'avance. @+
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bul
a priori, je viens de trouver une solution :
function ini(p) { this.mem=p; this.aff¯f; } function aff(txt) { alert(txt+"="+this.mem); }
ce que je ne comprend pas : c'est pourquoi le paramètre (txt) est-il bien pris en compte ? d'un coté on définit avec 1 paramètre et de l'autre on l'indique sans. ça m'échappe. @+
a priori, je viens de trouver une solution :
function ini(p)
{ this.mem=p;
this.aff¯f;
}
function aff(txt)
{
alert(txt+"="+this.mem);
}
ce que je ne comprend pas : c'est pourquoi le paramètre (txt)
est-il bien pris en compte ?
d'un coté on définit avec 1 paramètre et de l'autre on l'indique
sans. ça m'échappe.
@+
function ini(p) { this.mem=p; this.aff¯f; } function aff(txt) { alert(txt+"="+this.mem); }
ce que je ne comprend pas : c'est pourquoi le paramètre (txt) est-il bien pris en compte ? d'un coté on définit avec 1 paramètre et de l'autre on l'indique sans. ça m'échappe. @+
YD
bonjour à tous, j'utilise ce qui suit avec Internet Explorer, sans problème : ( simplification de mon script réel )
<script type="text/javascript"> function ini(p) { this.mem=p; } function ini.prototype.aff(txt) { alert(txt+"="+this.mem); } var c=new ini("abcd"); c.aff("exemple"); </script>
IE autorise cette syntaxe ! L'habitude est d'écrire :
function ini(p) { this.mem=p; } ini.prototype.aff = function (txt) { alert(txt+"="+this.mem); }
-- Y.D.
bonjour à tous,
j'utilise ce qui suit avec Internet Explorer, sans problème :
( simplification de mon script réel )
<script type="text/javascript">
function ini(p) { this.mem=p; }
function ini.prototype.aff(txt) { alert(txt+"="+this.mem); }
var c=new ini("abcd");
c.aff("exemple");
</script>
IE autorise cette syntaxe !
L'habitude est d'écrire :
function ini(p) { this.mem=p; }
ini.prototype.aff = function (txt) { alert(txt+"="+this.mem); }
bonjour à tous, j'utilise ce qui suit avec Internet Explorer, sans problème : ( simplification de mon script réel )
<script type="text/javascript"> function ini(p) { this.mem=p; } function ini.prototype.aff(txt) { alert(txt+"="+this.mem); } var c=new ini("abcd"); c.aff("exemple"); </script>
IE autorise cette syntaxe ! L'habitude est d'écrire :
function ini(p) { this.mem=p; } ini.prototype.aff = function (txt) { alert(txt+"="+this.mem); }
-- Y.D.
YD
a priori, je viens de trouver une solution :
function ini(p) { this.mem=p; this.aff¯f; } function aff(txt) { alert(txt+"="+this.mem); }
Oui mais dans ce cas la fonction n'est pas ajouté au prototype mais à chaque objet créé, en plus de la variable globale aff.
ce que je ne comprend pas : c'est pourquoi le paramètre (txt) est-il bien pris en compte ? d'un coté on définit avec 1 paramètre et de l'autre on l'indique sans. ça m'échappe.
Une fonction est un objet javascript de type Function. Autrement dit quand tu définis une fonction tu crées une variable à laquelle est attachée une chaîne correspondant à son corps et sa liste d'arguments. On peut ensuite réaffecter cette variable etc.
La syntaxe la plus rigoureuse pour définir une fonction est la suivante :
var delta = new Function("a","b","c","return b*b - 4*a*c;");
qui effectue exactement la même chose que : function delta(a, b, c) { return b*b - 4*a*c; }
qu'on peut ensuite manipuler à volonté : determinant = delta; alert (determinant(5,8,3));
-- Y.D.
a priori, je viens de trouver une solution :
function ini(p)
{ this.mem=p;
this.aff¯f;
}
function aff(txt)
{
alert(txt+"="+this.mem);
}
Oui mais dans ce cas la fonction n'est pas ajouté au prototype
mais à chaque objet créé, en plus de la variable globale aff.
ce que je ne comprend pas : c'est pourquoi le paramètre (txt)
est-il bien pris en compte ?
d'un coté on définit avec 1 paramètre et de l'autre on l'indique
sans. ça m'échappe.
Une fonction est un objet javascript de type Function. Autrement
dit quand tu définis une fonction tu crées une variable à laquelle
est attachée une chaîne correspondant à son corps et sa liste
d'arguments. On peut ensuite réaffecter cette variable etc.
La syntaxe la plus rigoureuse pour définir une fonction est la
suivante :
var delta = new Function("a","b","c","return b*b - 4*a*c;");
qui effectue exactement la même chose que :
function delta(a, b, c) {
return b*b - 4*a*c;
}
qu'on peut ensuite manipuler à volonté :
determinant = delta;
alert (determinant(5,8,3));
function ini(p) { this.mem=p; this.aff¯f; } function aff(txt) { alert(txt+"="+this.mem); }
Oui mais dans ce cas la fonction n'est pas ajouté au prototype mais à chaque objet créé, en plus de la variable globale aff.
ce que je ne comprend pas : c'est pourquoi le paramètre (txt) est-il bien pris en compte ? d'un coté on définit avec 1 paramètre et de l'autre on l'indique sans. ça m'échappe.
Une fonction est un objet javascript de type Function. Autrement dit quand tu définis une fonction tu crées une variable à laquelle est attachée une chaîne correspondant à son corps et sa liste d'arguments. On peut ensuite réaffecter cette variable etc.
La syntaxe la plus rigoureuse pour définir une fonction est la suivante :
var delta = new Function("a","b","c","return b*b - 4*a*c;");
qui effectue exactement la même chose que : function delta(a, b, c) { return b*b - 4*a*c; }
qu'on peut ensuite manipuler à volonté : determinant = delta; alert (determinant(5,8,3));
-- Y.D.
Bul
merci pour toutes ces explications, c'est beaucoup plus clair maintenant pour moi. @+
merci pour toutes ces explications,
c'est beaucoup plus clair
maintenant pour moi. @+