1unitedpower: this JavaScript

Beitrag lesen

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);
		}
	}
}