Difference between revisions of "Javascript"

From no name for this wiki
Jump to: navigation, search
(Funktionsargumente)
(Funktionsargumente)
Line 96: Line 96:
  
 
<tt>arguments</tt> bietet noch mehr: <tt>arguments.callee</tt>, <tt>arguments.caller</tt> und weiteres.
 
<tt>arguments</tt> bietet noch mehr: <tt>arguments.callee</tt>, <tt>arguments.caller</tt> und weiteres.
 +
 +
== Exceptions ==
 +
try {
 +
 
 +
      throw "An error"
 +
}
 +
catch(er) {
 +
    //er is a string 
 +
    alert(er); 
 +
}
  
 
== Links ==
 
== Links ==
 
* [[AJAX]]
 
* [[AJAX]]

Revision as of 11:28, 14 July 2008

Hier ein paar Samples

Array Objekt

Objekt Array erstellen:

var myArray = new Array("elem1", "elem2", "elem3");
var poppedElem = myArray.pop(); //Stack Pop Operation
myArray.concat(new Array("elem3","elem4")); //Zusammenfügen von Arrays


Anderes Array Sample:

var myArray = [8,7,6,5];
alert(myArray[0]); //Druckt 8
for(var i=0; i<myArray.lenght; i++){
  alert(myArray[i]);
}

Weitere Funktionen

Array bietet noch (nicht abschliessend): sort, reverse, splice, join und viele mehr.

Properties

Properties mit [] setzen:

var myObject = new Object();
myObject["myProperty"] = 5;
alert(myObject.myProperty); //Sollte 5 anzeigen

Closures

Hello World, inline:

var myClosure = function(){alert ('Hello World');};
myClosure();

Hello World:

function helloWorld(){alert ('Hello World');}
var myClosure = helloWorld;
myClosure();

Klassen

In Javascript kann man Klassen wie folgt erstellen:

function Car(size, color, numdoors){
  this.size = size;
  this.color = color;
  this.numdoors = numdoors; 
}

So werden Instanzen erstellt:

var myCar = new Car(23,"Green",5);
var numDoorsOfmyCar = myCar.numdoors;

Member Funktionen

function Car(numdoors){   
  this.numdoors = numdoors; 
  this.brake = brake;
}
function brake(){
  alert('brake');
}

Grundfunktionen

Es gibt eine Properties, welche alle Objekte haben. Nicht abschliessend: toString, watch und unwatch, constructor, prototype, hasOwnProperty, prototype.isPrototypeOf, propertyIsEnumerable, toSource, valueOf, eval

Named Arguments

Funktion mit Objekt als Argument:

//square ist ein Objekt mit den erwarteten Properties height und width
function area(square) {
   return square.height * square.width;  
}

Hier der Funktionsaufruf mit named Arguments:

var myresult =  area({height: 30, width : 30});
alert(myresult);

Prototype

Mit dem Keyword Prototype kann ein neues Property für alle Instanzen einer Klasse erstellt werden:

//Definition der Klasse Car
function car(){}
//Nun ein Property definieren
car.prototype.numwheels = 4;
//Nun eine Funktion definieren
car.prototype.brake = function { alert('Brake');};

Funktionsargumente

Die implizite Variable arguments:

function sum() {
  var myresult = 0;
  for(int i=0; i<arguments.length; i++){
     myResult += arguments[i];
  }
  return myresult;
}

var myresult =  sum(23,23,23);

arguments bietet noch mehr: arguments.callee, arguments.caller und weiteres.

Exceptions

try { 
  
     throw "An error" 
} 
catch(er) {
   //er is a string  
   alert(er);  
}

Links