1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
/*
Code généré lors de la création de la page
*/
var __scope = new JSScope();
for (property in window) {
__scope.setKeyValue(property, window.retreiveValue(property))
}
/*
Code compilé
*/
var f1 = new JSF(__scope.createCopy(), "function () { ... }")
/*
Code résultant de la compilation par __MSCompil.exec de f1
__scope est une copie de __scope déclaré plus haut
==> Ils évoluent pour l'instant de manière indépendante et si je changeais
la valeur de window dans la fonction, cela ne changerait pas celle du
__scope en dehors de la fonction
*/
function(this, arguments) {
// Intègre les arguments dans le scope
__scope.setKeyValue("this", this);
__scope.setKeyValue("arguments", arguments);
// Code compilé proprement dit
var __tmp1 = __scope.retreiveValue("window");
__tmp1.retreiveValue("alert").apply(
__tmp1,
"F1 a été appelée"
);
// Remet tout à zéro (il ne vaut pas que la prochaine fois que la fonction soit appelée les variables soient conservées)
// En gros __scope redevient une copie conforme du __scope duquel il vient
__scope.reset();
} |