eval()
çağrılırken hangi nesnenin global için kullanılacağını belirtmenin bir yolu var mı? Bu işe yaramıyorÖzel bir global ile eval() kullanma
(. Küresel eval() nasıl sormuyorum) ama bu ne istiyorsunuz göstermektedir:
var pseudoGlobal = {};
eval("x = 12", pseudoGlobal);
pseudoGlobal.x; // 12
noktası gerçek küresel bağlamaları olmasıdır örtük değişken bildirimi tarafından etkilenmez (yani var anahtar sözcükleri olmadan) kodunda eval() 'ed.
eval.call(pseudoGlobal, "x=12")
veya eval.apply(pseudoGlobal, ["x=12"])
'a gelince, bazı tercümanlar buna izin vermez.
Amaç, Javascript'in içinde yalıtılmış/kontrollü/güvenli bir yürütme ortamı oluşturmaktır. – gawi