function Grafik( jsonData, width, height) { this.maxLabel = 150; this.init = function() { console.log( this.maxLabel); } }
Es wurde ja bereits gesagt, dass der Fehler auftritt, wenn beim Aufruf von init
this
nicht so aufgelöst wird, wie man es erwartet. Das ist ein generelles Problem mit dem dynamischen Geltungsbereich. Mit dem statischen/lexikalischen Geltungsbereich kann man dieses und viele andere Probleme elegant vermeiden:
function Grafik( jsonData, width, height) {
var maxLabel = 150;
return {
init : function() {
console.log(maxLabel);
}
}
}