(1, eval) ("il") vs eval ("il") en JavaScript?

Je commence à lire JavaScript Modèles, certains codes qui me confond.

var global = (function () {
    return this || (1, eval)('this');
}());

Voici mes questions:

Q1:

(1, eval) === eval?

Pourquoi et comment ça fonctionne?

Q2: Pourquoi ne pas simplement

var global = (function () {
    return this || eval('this');
}());

ou

 var global = (function () {
    return this;
}());
  • J'ai mis à jour le titre parce que c'est un cas particulier. Aussi, de parenthèse pour le type spécifique de crochets: [] et {} sont entièrement différentes 🙂
InformationsquelleAutor shawjia | 2012-02-02