Il est classique de lancer une fonction lorsque la page est chargée (on garantie que la structure du dom est en mémoire).
window.onload = function() {
corps de la fonction
};
ici la fonction est anonyme, elle ne sera pas réutilisée.
Par exemple :
window.onload = function() {
test("Compris ?", function() {
assert("oui", "oui");
});
};
Remarquer la syntaxe classique de la fonction test. Elle dispose d'un argument qui est elle même une fonction. Cette fonction est souvent une fonction de callBack. Ici la fonction de callBack est anonyme est contient un appel à une fonction assert.
Exemple complet :
(function() {
var results;
this.assert = function assert(value, desc) {
var li = document.createElement("li");
li.className = value ? "pass" : "fail";
li.appendChild(document.createTextNode(desc));
results.appendChild(li);
if (!value) {
li.parentNode.parentNode.className = "fail";
// si un faux le test est faux
}
return li;
};
this.test = function test(name, fn) {
results = document.getElementById("results");
results = assert(true, name).appendChild(
document.createElement("ul"));
fn();
};
})();
window.onload = function() {
test(" test ", function() {
assert(2==2, "2==2");
assert(1=='1', "1=='1'");
assert(1==='1', "1==='1'");
});
test("Compris ?", function() {
assert("oui", "oui");
assert(true,"oui oui oui");
});
test("(function(){})()", function() {
assert(null, "dur dur");
assert(5, " du courage");
});
};