Est-il possible de modifier la portée lexicale de javascript afin que les fonctions utilisent la portée variable qui est en vigueur lorsqu'elles sont évoquées et non lorsqu'elles ont été définies? En un mot, puis-je changer la chaîne de portée associée à une fonction?désactiver le scannage lexical en javascript
Un exemple pour cela: Je voudrais être en mesure d'exécuter quelque chose comme ça sans faire passer le message d'erreur, que y est pas défini:
function f(){y+2};
function g(){
var y=2;
f();
return y;
}
g();
Il y a une chose à cela: les arguments. –
'Fonction f (y) {return (y + 2)};' et change son appel en conséquence. –
Mis à part l'utilisation de 'eval', non. Pourquoi ressens-tu ce besoin? –