Au début du fichier javascript, j'ai:Associative Array/objet ne peut pas être lu dans les fonctions
var lbp = {};
lbp.defaults = {
minLength: 40
};
je peux alerter avec succès par la suite, avec:
alert(lbp.defaults.minLength);
Mais dès que je le mets dans une fonction, quand je alerte, je reçois "Undefined". Qu'est-ce qui donne, et comment puis-je éviter cela? Est-il absolument nécessaire de passer cette variable dans chaque fonction, par exemple, en faisant:
function(lbp) { alert(lbp.defaults.minLength); }
j'aurais pensé que définir d'abord, il atteindrait une portée globale et ne pas être nécessaire pour être adoptée en?
Merci à l'avance pour moi :) éclairer
================================== ==
EDIT: Le problème semble être que ma fonction d'initialisation est elle-même définie dans lbp. Y at-il un moyen d'utiliser cette fonction var, et encore utiliser lbp vars à l'intérieur?
lbp.initialize = function() {
alert(lbp.defaults.minLength);
};
Le bit de code complet ressemble à ceci:
<script type="text/javascript">
var lbp = {
defaults: {
minLength: 40
}
};
lbp.initialize = function() {
alert(lbp.defaults.minLength);
};
window.onload = lbp.initialize;
</script>
Comment appelez-vous cette fonction?, Passez-vous l'objet comme argument? – CMS
J'ai ajouté le code de script complet au-dessus de – Matrym
Je vais aussi ajouter, en changeant lbp.initialize juste initialiser dans les deux instances résout le problème. C'est la solution simple. Je me demande s'il y en a une autre - mais je suppose qu'il n'y en a pas. – Matrym