Vererbung in JavaScript

Die Vererbung in JavaScript wird über den Prototypen realisiert. Der Prototyp kann mit dem Attribut "prototype"" referenziert werden.

Bibliothek anlegen und erweitern


<div id="TestConsole"></div>
	
<script type="text/javascript">
var Snowbits = new SnowbitsBase();

function SnowbitsBase() {
	this.version = function () {
		return '1.0';	
	};
	this.author = function () {
		return 'Wolgang Garbe';	
	};
	this.online = function () {
		return 'www.snowbits.de';	
	};
}

SnowbitsBase.prototype.sayHello = function() {
	return 'Example library:'; 
 }
 
SnowbitsBase.prototype.getDayOfWeek = function (germanDate, errorValue) {
	var days = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
	var arr = germanDate.split('.');
	
	if (arr.length != 3)
		return errorValue;
	
	try {
		var now = new Date(parseFloat(arr[2]), (parseFloat(arr[1]) - 1), parseFloat(arr[0]));
		
		return days[now.getDay()];
	} catch (e) {
		return errorValue;
	}
}

 $('#TestConsole').text(Snowbits.sayHello() +
         '\n\nversion: ' + Snowbits.version() +
         '\nauthor: ' + Snowbits.author() +
         '\nonline: ' + Snowbits.online() +
         '\n\n' + Snowbits.getDayOfWeek('11.07.2010', '') + ', 11.07.2010');
</script>
	





Das Date Objekt erweitern mit den Funktionen getPastDays(), getFutureDays()


Date.prototype.getPastDays = function(fromDate) {
	fromDate.setHours(this.getHours(), this.getMinutes(), 
	                  this.getSeconds(), this.getMilliseconds());
	
	return Math.round((this.getTime() - fromDate.getTime()) / (1000 * 60 * 60 * 24)); 
}

Date.prototype.getFutureDays = function(toDate) {
	toDate.setHours(this.getHours(), this.getMinutes(), 
                        this.getSeconds(), this.getMilliseconds());
	
	return Math.round((toDate.getTime() - this.getTime())  / (1000 * 60 * 60 * 24)); 
}
	
$('#datepicker').change(function () {
	var today = new Date();
	var date = $('#datepicker').datepicker('getDate');
	$('#testConsoleDaysBetween').text(
				(today.getTime()  >  date.getTime() ? 
				'seit Tage: ' + today.getPastDays(date) :
				'noch Tage: ' + today.getFutureDays(date) ));
});
	

Test:




Das String Objekt erweitern mit der Funktion trim()


if(typeof String.prototype.trim !== 'function') {
	 String.prototype.trim = function() {
	
		return this.replace(/^\s+|\s+$/g, ''); 
	 };
}		
	

Das String Objekt erweitern mit der Funktion startWith()


if(typeof String.prototype.startWith !== 'function') {
	String.prototype.startWith = function(testee) {
	
		return this.indexOf(testee) == 0; 
	};
}	
	

Das String Objekt erweitern mit der Funktion endWith()


if(typeof String.prototype.endWith !== 'function') {
	String.prototype.endWith = function(testee) {
	
		return this.lastIndexOf(testee) == this.length - testee.length; 
	};
}

	

Top


Example
Sitemap Kontakt Impressum