Peut-être que vous voulez essayer:
var balloon = function(){
};
balloon.prototype.iHeight = function(){ return document.getElementById("wrapper").clientHeight; }
Ensuite, vous pouvez l'appeler plus tard, après le chargement DOM.
Vous en avez besoin dans une fonction car sinon JavaScript essayera de calculer la valeur au moment de la définition.
window.onload = function(){
var oBalloon = new balloon();
var height = oBalloon.iHeight(); // iHeight would be undefined if you tried to calculate it earlier
}
Vous pouvez simplement supprimer la méthode prototype tout à fait et définir la propriété dans le gestionnaire onload
:
window.onload = function(){
var oBalloon = new balloon();
oBalloon.iHeight = document.getElementById("wrapper").clientHeight;
}
Ensuite, vous ne régler qu'une seule fois, mais aussi garantir le DOM aura chargé et la propriété sera valide d'ici là.
Qu'est-ce que vous aviez est équivalent à:
var balloon = function(){};
var tmp = document.getElementById("wrapper").clientHeight; // at this point, this is not definted: tmp = undefined
balloon.prototype.iHeight = tmp; // undefined
window.onload = function(){
var oBalloon = new balloon();
}
qu'est-ce que vous essayer de faire? – jrharshath
@ Ici, il a dit .. "Im essayant juste de comprendre le prototype un peu mieux." – RobertPitt
Hmm, point pris. Je concède. – jrharshath