2011-07-27 2 views

Répondre

1

Si bar est globale, alors vous pouvez le faire accéder à son contenu avec les

window[foo] 

Si elle est locale, vous auriez à utiliser eval[docs] ou mieux, en faire une propriété d'un objet local:

var someObj = {} 
someObj.bar = "foobar"; 

alert(someObj[foo]); 
+0

Quelle est la différence entre window et eval ou qu'est-ce que c'est? – vetri02

+0

@weblearner: 'eval' évalue le code JavaScript arbitraire. 'window' est un objet et vous venez d'accéder à une propriété de celui-ci. Ce sont deux choses totalement différentes. –

2

éviter eval! utiliser des crochets à la place notation: fenêtre [foo]

2

Voici une solution:

<script> 
var foo = "bar"; 
var bar= "truc"; 
alert(eval(foo)); 
</script> 
0

Si le foo et bar est pas globale, vous ne pouvez pas accéder à bar par window[foo], au lieu this travaillerai toujours.

var foo = "bar"; 
var bar = "foobar"; 
alert(this[foo]); 
Questions connexes