Tutorials >
Javascript >
Objecten, properties en prototypes
|
Gepost op: 03 januari 2006 - 17:07 |
|
|
|
Moderator
|
Het laatste voorbeeld van onderdeel 4 snap ik even niet?
function getNaam() {
alert(this.naam);
}
function getLeeftijd(leeftijd) {
alert(this.leeftijd);
}
function mens(naam, leeftijd) {
this.naam = naam;
this.leeftijd = leeftijd;
this.getNaam = getNaam;
this.getLeeftijd = getLeeftijd;
}
function getNaam() { alert(this.naam); } function getLeeftijd(leeftijd) { alert(this.leeftijd); } function mens(naam, leeftijd) { this.naam = naam; this.leeftijd = leeftijd; this.getNaam = getNaam; this.getLeeftijd = getLeeftijd; }
Als je een mens maakt worden er zaken ge-alert?
Of koppel je op die manier de functies (methoden) aan de functie mens (de class)? |
|
|
|
Gepost op: 03 januari 2006 - 17:12 |
|
|
|
PHP expert
|
edit: Het tweede wat je zegt: zo koppel je ze aan elkaar.
Ik zal het even omzetten in php code. Dit doet hetzelfde:
<?php
class mens {
var $naam;
var $leeftijd;
function mens($naam, $leeftijd) {
$this->naam = $naam;
$this->leeftijd = $leeftijd;
}
function getNaam() {
echo $this->naam;
// in javascript dan alert
}
function getLeeftijd() {
echo $this->leeftijd;
}
}
?>
<?php class mens { var $naam; var $leeftijd; function mens($naam, $leeftijd) { $this->naam = $naam; $this->leeftijd = $leeftijd; } function getNaam() { // in javascript dan alert } function getLeeftijd() { } } ?>
De functies (methodes) worden niet 'aangeroepen' maar enkel 'aangemaakt' en _gebonden_ aan 'mens', door de '=' operator.
Dit kan slechts worden aangeroepen door:
blaat = new mens;
blaat.getNaam();
blaat = new mens; blaat.getNaam();
Ook nog interessant om te vermelden is dat je 'mogelijke' argumenten kan meegeven. Dit zal ik ook nog in de tutorial zelf verwerken. Het gaat zo:
function blaat(foo, bar) {
this.foo = foo || "";
this.bar = bar || "bar";
}
// als foo een waarde heeft word deze waarde genomen, anders de waarde achter ||
// idem met bar
b = new blaat('dit is foo');
alert(b.foo);
// 'dit is foo'
alert(b.bar);
// 'bar'
b.bar = "dit is bar";
alert(b.bar);
// 'dit is bar'
function blaat(foo, bar) { this.foo = foo || ""; this.bar = bar || "bar"; } // als foo een waarde heeft word deze waarde genomen, anders de waarde achter || // idem met bar b = new blaat('dit is foo'); alert(b.foo); // 'dit is foo' alert(b.bar); // 'bar' b.bar = "dit is bar"; alert(b.bar); // 'dit is bar'
|
|
|
Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties. |
|
|
|