vrijdag 9 mei 2008

Crash course Javascript programming

Hierbij alles dat interessant is in javascript in 5 minuten.
Alleen geschikt voor ervaren programmeurs met java/c++ of c# kennis.

//JScript File
//call function Object and create a new one from the return value
var temp = new Object();
var book = {}; //zelfde

book.bladzijden = 500;
book.title = 'a book title';
book['title'] = 'book title changed';

for(var p in book)
{
alert('name:' + p + ' value:' + book[p]);
}

//create a new array
var arr = new Array();
var a = [];

arr[0] = 'appel';
arr[1] = new Object();
arr.push(42);
Array.enqueue(arr,"indextwee");
Array.addRange(arr,arr);

function add(a,b)
{
return a+b;
}

var calc = {};
calc.add = function(a,b)
{
return a+b;
}
calc.multiply = function(a,b)
{
return a*b;
}

//a closured function
function parent(args)
{
var test = "a test var";

function nested()
{
alert(args + test);
}
return nested; //starting parent starts nested function
}
parent("This is a ");
var dynamic = parent("This is a dynamic ");
dynamic(); //currying / templating

function Cat()
{
this._name = '';
this._age = 0;
}
Cat.prototype.speak = function(){
alert(this._name + " says Meeeowww!");
}
Cat.registerClass('Cat'); //only a single cat can exists
//Cat.registerClass('Cat'); //ajax exception

var cat = new Cat();
cat.speak();

//quick construction
var p = { firstName: 'John' , lastName:'Doe'} //basis voor JSON
var a = [1,2,3,4,5];

var group = {
name:'',
members:['jack','smith','andrew'] ,
count:function() { alert('a strange construction'); }
}
//"zestig"
var getal = parseInt('600'); //resolve naar 600 number
for( var i=0;i<10;i++)
{
//dummy for
}
while(false)
{
//dummy while
}
//a recursive function (watch out for infinite loop)
var counter = 0;
function rec()
{
counter ++;
alert(counter);
if(counter < 10)
{
setTimeout(rec(),100);
}
}
//asp.net ajax only document.getElementById browser onafhankelijk
//$get("lbl1").innerHTML
//asp.net ajax only manier om dom events toe te voegen en verwijderen
//$addHandler(domobject,eventname,eventfunction);
//$removeHandler(domobject,eventname,eventfunction);

Geen opmerkingen: